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
|
// Hier wordt gezocht in de omschrijving, opmerking, de notities en de eventuele (tekst-)kenmerken
|
||||||
// Dit is een potentieel en onvermijdelijk dure zoekactie.
|
// 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)
|
if (searchtekst)
|
||||||
{
|
{
|
||||||
sqln += " AND (UPPER(mld_melding_omschrijving) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%")
|
var woorden = searchtekst.split(" "); // ook komma en zo?
|
||||||
+ " OR UPPER(mld_melding_onderwerp) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%")
|
var zoekwoorden = [];
|
||||||
+ " OR UPPER(mld_melding_opmerking) LIKE " + safe.quoted_sql_wild("%" + searchtekst + "%")
|
for (var i = 0; i < woorden.length; i++)
|
||||||
+ " OR UPPER(mld_melding_externnr) LIKE " + safe.quoted_sql_wild(searchtekst) // wildcards doe je zelf maar.
|
{
|
||||||
+ " OR EXISTS (SELECT mld_melding_key"
|
zoekwoorden.push(zoek_woord(woorden[i]));
|
||||||
+ " FROM mld_kenmerkmelding km"
|
}
|
||||||
+ " WHERE km.mld_melding_key = m.mld_melding_key"
|
sqln += "AND " + zoekwoorden.join(" AND ");
|
||||||
+ " 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 + "%") + "))";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (omschr)
|
if (omschr)
|
||||||
|
|||||||
Reference in New Issue
Block a user