Even een inleiding:
Ik heb een database waarin de waarde van checkboxen worden opgeslagen. Ik heb zo een kolom voor elke taal ( nederlands, frans, duits..). Als de checkbox aangevinkt is staat er een 1 anders een 0.
Nu wil ik een zoekformulier maken (weer met behulp van checkboxen) waarmee het volgende kan gedaan worden. Als ik bijvoorbeeld op frans wil zoeken, wil ik de records zien waarbij frans geslecteerd is maar ook nederlands in combinatie met frans of andere talen in combinatie met frans.
Iemand een hint, tutorial ofzo hoe ik hieraan begin?
Wanneer je nu het formulier verstuurd, krijg je de array $_POST['taal'] binnen. Daarin staan de geselecteerde waardes, bv. 'nl' en 'es'. Het is dus duidelijk dat Nederlands en Spaans zijn geselecteerd.
Met een foreach-lus kun je de array eenvoudig doorlopen.
Aanvulling op pgFrank:
En om zo min mogelijk querys te doen (word hij toch sneller van, of ben ik nou weer heel vaag...?) kan je het beste de foreachloop zoiets doen (vind ik iig handig):
if (isset($_POST['taal'])) {
foreach ($_POST['taal'] as $value) {
$talen[] = "taal = '".$value."'"; // even beredeneerd vanuit een query, die vaak met double quotes gaat
}
$sql = "SELECT kolommen FROM tabel WHERE (". implode(' OR ', $talen).")";
// iets als: SELECT kolommen FROM tabel WHERE (taal = 'nl' OR taal = 'de')
// Het staat tussen haakjes zodat je er nog een 'AND' ofzo bij kan doen..
}