Zoeken naar meerdere woorden uit één string in verschillende velden
Goedemorgen,
Momenteel ben ik bezig met het maken van een zoekveld die in meerdere velden moet kunnen zoeken.
Het is de bedoeling dat ik mijn klanten kan zoeken in mijn database.
Echter weet ik niet hoe ik dat het beste aan kan pakken.
Op de volgende velden zou ik dus eigenlijk willen zoeken:
Voorbeeld met zoekterm: van Liere
Dan zou hij moeten zoeken op: `tussenvoegsel = 'van' en "`achternaam` = 'liere'"
Voorbeeld met zoekterm: 0000 AA
Dan zou hij moeten zoeken op: `postcode`= '0000'` en "`postcode_letters` = 'AA'"
De rest van het zoekveld lukt me wel, maar dit is echt het punt waar ik tegenaan loop.
Destijds heb ik mijn tabel zo gemaakt omdat ik belgische en nederlandse personen in mijn tabel heb staan en ik een bepaalde naamsvoering in correspondentie wilde houden en niet zoals belgische mensen zeggen Liere van en wij zeggen hier van liere.
Kan iemand mij hier toevallig mee op weg helpen?
Alvast bedankt!
Momenteel ben ik bezig met het maken van een zoekveld die in meerdere velden moet kunnen zoeken.
Het is de bedoeling dat ik mijn klanten kan zoeken in mijn database.
Echter weet ik niet hoe ik dat het beste aan kan pakken.
Op de volgende velden zou ik dus eigenlijk willen zoeken:
Voorbeeld met zoekterm: van Liere
Dan zou hij moeten zoeken op: `tussenvoegsel = 'van' en "`achternaam` = 'liere'"
Voorbeeld met zoekterm: 0000 AA
Dan zou hij moeten zoeken op: `postcode`= '0000'` en "`postcode_letters` = 'AA'"
De rest van het zoekveld lukt me wel, maar dit is echt het punt waar ik tegenaan loop.
Destijds heb ik mijn tabel zo gemaakt omdat ik belgische en nederlandse personen in mijn tabel heb staan en ik een bepaalde naamsvoering in correspondentie wilde houden en niet zoals belgische mensen zeggen Liere van en wij zeggen hier van liere.
Kan iemand mij hier toevallig mee op weg helpen?
Alvast bedankt!
Er bestaan maar een paar honderd tussenvoegsels. Daarvan komen de zeldzame (zoals het Franstalige du of de la) waarschijnlijk niet voor in je data, waardoor je in de praktijk een dataset hebt van hooguit enkele tientallen tussenvoegsels.
Je zou daarom een query met SELECT DISTINCT kunnen gebruiken die eerst een kleine array vult met unieke tussenvoegsels. Die kun je vervolgens gebruiken in een controle op individuele woorden in de zoekopdracht: komt een zoekwoord voor in de array, dan is het een tussenvoegsel; komt een zoekwoord niet voor in de array, dan is het omgekeerd dus geen tussenvoegsel.
Je zou daarom een query met SELECT DISTINCT kunnen gebruiken die eerst een kleine array vult met unieke tussenvoegsels. Die kun je vervolgens gebruiken in een controle op individuele woorden in de zoekopdracht: komt een zoekwoord voor in de array, dan is het een tussenvoegsel; komt een zoekwoord niet voor in de array, dan is het omgekeerd dus geen tussenvoegsel.
Is er geen mogelijkheid om bijvoorbeeld als ik zoek op "van der achternaam" dat ik bijvoorbeeld dit krijg: $val1 = 'van' $val2 = der $val3 = achternaam en ik op basis daarvan zoek in de database?
Hoe ontleed ik een zin op die manier?
Hoe ontleed ik een zin op die manier?
Misschien gewoon splitsen op spatie
Hoi Jan R,
Dat snap ik, maar weet je toevallig hoe die functie heet om zoiets te maken?
Dat snap ik, maar weet je toevallig hoe die functie heet om zoiets te maken?
Ik deed dit :
https://www.google.com/search?q=php+splitsen+op+spatie
Kwam ik dit tegen :
http://www.phphulp.nl/php/tutorial/php-functies/explode/123/
https://www.google.com/search?q=php+splitsen+op+spatie
Kwam ik dit tegen :
http://www.phphulp.nl/php/tutorial/php-functies/explode/123/




