FCLT#52780 Gemakkelijker met meerdere woorden naar melding zoeken
svn path=/Website/trunk/; revision=37505
This commit is contained in:
@@ -1477,21 +1477,32 @@ mld = {setmeldingstatus:
|
||||
|
||||
// Hier wordt gezocht in de omschrijving, opmerking, de notities en de eventuele (tekst-)kenmerken
|
||||
// Dit is een potentieel en onvermijdelijk dure zoekactie.
|
||||
function zoek_woord(woord)
|
||||
{
|
||||
return "( UPPER(mld_melding_omschrijving) LIKE " + safe.quoted_sql_wild("%" + woord + "%")
|
||||
+ " OR UPPER(mld_melding_onderwerp) LIKE " + safe.quoted_sql_wild("%" + woord + "%")
|
||||
+ " OR UPPER(mld_melding_opmerking) LIKE " + safe.quoted_sql_wild("%" + woord + "%")
|
||||
+ " OR UPPER(mld_melding_externnr) LIKE " + safe.quoted_sql_wild(woord) // wildcards doe je zelf maar.
|
||||
+ " OR EXISTS (SELECT mld_melding_key"
|
||||
+ " FROM mld_kenmerkmelding km"
|
||||
+ " WHERE km.mld_melding_key = m.mld_melding_key"
|
||||
+ " AND km.mld_kenmerkmelding_verwijder IS NULL"
|
||||
+ " AND UPPER(km.mld_kenmerkmelding_waarde) LIKE " + safe.quoted_sql_wild("%" + woord + "%") + ")"
|
||||
+ " OR EXISTS (SELECT mld_melding_key"
|
||||
+ " FROM mld_melding_note n"
|
||||
+ " WHERE n.mld_melding_key = m.mld_melding_key "
|
||||
+ " AND UPPER(n.mld_melding_note_omschrijving) LIKE " + safe.quoted_sql_wild("%" + woord + "%") + ")"
|
||||
+ ")"
|
||||
}
|
||||
if (searchtekst)
|
||||
{
|
||||
sqln += " AND (UPPER(mld_melding_omschrijving) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%")
|
||||
+ " OR UPPER(mld_melding_onderwerp) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%")
|
||||
+ " OR UPPER(mld_melding_opmerking) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%")
|
||||
+ " OR UPPER(mld_melding_externnr) LIKE " + safe.quoted_sql_wild(searchtekst) // wildcards doe je zelf maar.
|
||||
+ " OR EXISTS (SELECT mld_melding_key"
|
||||
+ " FROM mld_kenmerkmelding km"
|
||||
+ " WHERE km.mld_melding_key = m.mld_melding_key"
|
||||
+ " AND km.mld_kenmerkmelding_verwijder IS NULL"
|
||||
+ " AND UPPER(km.mld_kenmerkmelding_waarde) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%") + ")"
|
||||
+ " OR EXISTS (SELECT mld_melding_key"
|
||||
+ " FROM mld_melding_note n"
|
||||
+ " WHERE n.mld_melding_key = m.mld_melding_key "
|
||||
+ " AND UPPER(n.mld_melding_note_omschrijving) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%") + "))";
|
||||
var woorden = searchtekst.split(" "); // ook komma en zo?
|
||||
var zoekwoorden = [];
|
||||
for (var i = 0; i < woorden.length; i++)
|
||||
{
|
||||
zoekwoorden.push(zoek_woord(woorden[i]));
|
||||
}
|
||||
sqln += "AND " + zoekwoorden.join(" AND ");
|
||||
}
|
||||
|
||||
if (omschr)
|
||||
|
||||
Reference in New Issue
Block a user