Ik heb in een PHP programmaatje een vijftal zoekvelden. Gebruikers kunnen met een of meerdere zoekvelden in de database... zoeken (logisch
).
De waarden die ik krijg van deze velden worden omgezet naar een deel van de mySQL-query:
Op deze manier werkt het. Als ik een telefoonnummer ingeef, dan zoekt het programma in klant_tel1 en in klant_tel2 en indien hij in een van deze columns iets vindt, dan krijg ik een positief resultaat.
Nu wil ik met $searchAdres ook in de column klant_werkadres zoeken en met $searchPostcode in klant_werkpc, etc., etc.. Als ik echter iets als:
invoer, dan krijg ik altijd een positief resultaat, wat ik dan ook invoer. Wat is nou de beste methode hiervoor? Hoe krijg ik het voor elkaar dat de searchAdres zowel in het werkadres als in het huidige adres wordt uitgevoerd en bijvoorbeeld searchWoonplaats in werkwoonplaats en in de huidige woonplaats? Hoe groepeer ik die dingen? Vingers? Iemand?
De waarden die ik krijg van deze velden worden omgezet naar een deel van de mySQL-query:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $sortbySqlOutput = "WHERE klant_naam LIKE '%".$searchNaam."%' && klant_adres LIKE '%".$searchAdres."%' && klant_pc LIKE '%".$searchPostcode."%' && klant_woonplaats LIKE '%".$searchWoonplaats."%' && klant_tel1 LIKE '%".$searchTelefoon."%' || klant_tel2 LIKE '%".$searchTelefoon."%' "; |
Op deze manier werkt het. Als ik een telefoonnummer ingeef, dan zoekt het programma in klant_tel1 en in klant_tel2 en indien hij in een van deze columns iets vindt, dan krijg ik een positief resultaat.
Nu wil ik met $searchAdres ook in de column klant_werkadres zoeken en met $searchPostcode in klant_werkpc, etc., etc.. Als ik echter iets als:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| $sortbySqlOutput = "WHERE klant_naam LIKE '%".$searchNaam."%' && klant_adres LIKE '%".$searchAdres."%' || klant_werkadres LIKE '%".$searchAdres."%' && klant_pc LIKE '%".$searchPostcode."%' || klant_werkpc LIKE '%".$searchPostcode."%' && klant_woonplaats LIKE '%".$searchWoonplaats."%' || klant_werkwoonplaats LIKE '%".$searchWoonplaats."%' && klant_tel1 LIKE '%".$searchTelefoon."%' || klant_tel2 LIKE '%".$searchTelefoon."%' "; |
invoer, dan krijg ik altijd een positief resultaat, wat ik dan ook invoer. Wat is nou de beste methode hiervoor? Hoe krijg ik het voor elkaar dat de searchAdres zowel in het werkadres als in het huidige adres wordt uitgevoerd en bijvoorbeeld searchWoonplaats in werkwoonplaats en in de huidige woonplaats? Hoe groepeer ik die dingen? Vingers? Iemand?
We zijn allemaal vaandeldrager in een optocht van gekwetsten.