Ik gebruik op een site een zoek formulier met een 30 checkboxes die allen een andere waarde hebben. Door deze aan te klikken kan de gebruiker dus zoeken. Via Ajax wordt in de database de selectie uitgevoerd op basis van de aangevinkte checkboxen en wordt de inhoud van het scherm bijgewerkt.
De aangevinkte checkboxen worden via een IN opdracht in de query geplaatst. Dus zoiets als select * from categorie where categorie IN (1, 25,26) waarbij de cijfers op basis van de aangevinkte checkboxen in de query worden geplaatst.
Dit is de aanbevolen werkwijze op elke site waarop ik heb gezocht en in eerste instantie was ik ook tevreden. Totdat ik merkte dat het niet klopt.
Stel ik heb de checkboxen 1 en 25 aangevinkt. De query geeft dan een goed resultaat. Voeg ik hierbij 26 dan klopt het resultaat niet meer zoals ik het wil hebben. 26 staat niet in de tabel dus eigenlijk moet het resultaat dan leeg zijn. Er wordt nu op basis van "of" geselecteerd. Met andere woorden of 1 of 25 of 26. Ik wil echter 1 en 25 en 26. Iemand een idee?
De aangevinkte checkboxen worden via een IN opdracht in de query geplaatst. Dus zoiets als select * from categorie where categorie IN (1, 25,26) waarbij de cijfers op basis van de aangevinkte checkboxen in de query worden geplaatst.
Dit is de aanbevolen werkwijze op elke site waarop ik heb gezocht en in eerste instantie was ik ook tevreden. Totdat ik merkte dat het niet klopt.
Stel ik heb de checkboxen 1 en 25 aangevinkt. De query geeft dan een goed resultaat. Voeg ik hierbij 26 dan klopt het resultaat niet meer zoals ik het wil hebben. 26 staat niet in de tabel dus eigenlijk moet het resultaat dan leeg zijn. Er wordt nu op basis van "of" geselecteerd. Met andere woorden of 1 of 25 of 26. Ik wil echter 1 en 25 en 26. Iemand een idee?
Bijlagen
Laatst bewerkt: