Ik zit met het volgende,
Ik heb een MySQL database met meerdere velden en heb een query die deze 2 velden doorzoekt op een bepaalde waarde.
Het zoeken gaat op zicht goed, maar als ik bijvoorbeeld zoek op "gasleiding 8mm" dan krijg ik een ander resultaat dan dat ik zoek op "8mm gasleiding", dit heeft natuurlijk te maken met het feit dat er wordt gezocht naar de gehele string.
Dit dacht ik op te lossen door de string zo aan te passen dat MySQL elk woord uit de string zou zien als een losse wildcard. Code staat hieronder:
Dit maakt van "gasleiding 8mm" -> "%gasleiding% %8mm%"
De query die ik vervolgens gebruik is:
Toch blijf ik verschillende resultaten krijgen.. heeft iemand suggesties of ervaring met dergelijke zoek scripts?
Alvast bedankt!
Nick
Ik heb een MySQL database met meerdere velden en heb een query die deze 2 velden doorzoekt op een bepaalde waarde.
Het zoeken gaat op zicht goed, maar als ik bijvoorbeeld zoek op "gasleiding 8mm" dan krijg ik een ander resultaat dan dat ik zoek op "8mm gasleiding", dit heeft natuurlijk te maken met het feit dat er wordt gezocht naar de gehele string.
Dit dacht ik op te lossen door de string zo aan te passen dat MySQL elk woord uit de string zou zien als een losse wildcard. Code staat hieronder:
PHP:
1
2
3
| $zoeknaar = "gasleiding 8mm"; $zoeknaar = "%". $zoeknaar ."%"; $zoeknaar = str_replace(" ","% %",$zoeknaar); |
Dit maakt van "gasleiding 8mm" -> "%gasleiding% %8mm%"
De query die ik vervolgens gebruik is:
PHP:
1
2
3
4
5
6
7
8
9
| $query = " SELECT mar_artikelcode, mar_omschrijving1, mar_omschrijving2 FROM artikelen WHERE mar_omschrijving1 LIKE '$zoeknaar' OR mar_omschrijving2 LIKE '$zoeknaar' "; |
Toch blijf ik verschillende resultaten krijgen.. heeft iemand suggesties of ervaring met dergelijke zoek scripts?
Alvast bedankt!
Nick