Filtrere produktvisning med checkboxe og mysql
Hej eksperter,Jeg er i gang med at lave en side, hvor det skal være muligt at kunne filtrere på en række produkter, og dette med hjælp fra checkboxe.
Som standard vil alle checkboxe være unchecked, og alle produkter vist.
Det skal så være således, at hvis en checkbox checkes, så laves en query til MySQL om kun at vise produkter med værdien fra checkboxen.
Indtil videre ser dette således ud:
<form action="" method="get">
<input type="hidden" name="page" value="product-list">
<label><input type='checkbox' name='type' value='1'>Kartofler</label>
<br/>
<label><input type='checkbox' name='type' value='2' >Rodfrugt</label>
<br/>
<label><input type='checkbox' name='type' value='3' >Løg</label>
<br/>
<input type="submit" value="Submit" />
</form>
/* PHP */
<?
if($_GET['type'] != ""){
$hent_maskiner = mysql_query("SELECT * FROM kategori WHERE id = $_GET[type]");
while($hent_maskiner2 = mysql_fetch_array($hent_maskiner)){
echo $hent_maskiner2[navn]."<br/>";
}
}
?>
Ovenstående giver et par problemer for mig.
1) Ved submit bliver URL'en rigtigt nok udvidet med variablen "type" og værdien for den checkbox, der er checked. Det samme gælder hvis jeg klikker 2 checkboxes, men problemet her er, at PHP MySQL'en kun registrerer den sidste variabel i URL'en - altså dem der ligger forud, vil ikke blive taget med, og resultatet er, at den kun parser sidste værdi fra "type" variablen.
2) Checkboxes uncheckes alle ved submit - de skal gerne beholde deres checked indstilling, så det er til at se, hvilke grupper der er valgt.
I tillæg skal det nævnes, at det hidden element i formen blot er til brug for, at havne med den rigtige URL, i det jeg har valgt GET metoden i formen.
Jeg håber nogen kan hjælpe mig.