Hoe kun je zorgen dat een zoekformulier op meerdere worden in een mysql database zoekt? Ik kan nu wel zoeken, maar als ik meerdere woorden als zoekterm geef, dan vindt hij niks.

En eigenlijk dezelfde vraag met een menulijst. Als ik meerdere gegevens selecteer, geeft hij er maar 1 door. Hoe kan ik er voor zorgen dat op alle gegevens wordt gezocht?
Je kunt de woorden uit elkaar halen met explode zo:

<?php

$woorden="woord1+woord2";

$uitelkaar=explode("+",$woorden);

?>

als het goed is heb je nu een array met 2 woorden, dus als je dit doet:

<?php
echo $uitelkaar[0];//output woord1
echo $uitelkaar[1];//output woord2
?>


Nu kun je met die woorden in een database gaan zoeken.

Je moet hier zelf maar ff wat mee proberen.


(het kan vast ook anders en ik weet ook niet zeker of het klopt.)

Misschien is er iemand(of ik) die wel ff een scriptje maakt.
ik ben nou even het een en ander aan het proberen. Hij runt nu de query ook voor ieder woord, alleen hij geeft alleen de laatste terug.
Dat komt omdat je telkens $query=....... gebruikt en dat word de query telkens weer over geschreven.
Je zou ook 1 query kunnen maken met;

WHERE x='$uitelkaar[0]' OR y='$uitelkaar[1]'

Ik doe het nu met foreach. De uitkomsten van de quey slaat hij op in een array, alleen hij slaat alleen de resultaten van het laatste woord op.

Ik zal dus toch iets andere moeten vinden.
hmm, ik kom er nog steeds niet uit hoor. Wat ik dus eigenlijk wil is het volgende:

iemand vult bijv meerdere zoektermen in:
appel banaan

De pagina zoek.php haalt de waarde van dit zoekveld op en geeft deze vervolgens door aan de pagina query.php

in query.php wordt er een quey gemaakt en uitgevoerd en worden de gegevens in een array geplaatst. Deze array gaat weer terug naar zoek.php

In zoek.php wordt van de array een tabel gemaakt en weer teruggegeven aan de eerste pagina.

Het probleem is nu dat hij alleen de resultaten van het laatste zoekwoord teruggeeft.

Iemand een idee?

Reageren