Filtrering med lister?
Hej forumJeg er i gang med en filtreringsformular, der skal returnere poster fra en database (php + MySql)
Mit problem er at jeg ikke kan få min sql til a returnere de ønskede poster. Her er lidt forklaring:
Jeg bruger to lister
<select name="hovedgruppe">
<option value="">Hovedgruppe ?</option>
<option value="Bacteroides">Bacteroides spp.</option>
<option value="Prevotella">Prevotella spp.</option>
<option value="Porphyromonas">Porphyromonas spp.</option>
<option value="Fusobacterium">Fusobacterium spp.</option>
<option value="Corrodens">"Corrodens-gruppen"</option>
<option value="Bestave">Bevægelige stave</option>
<option value="Leptotrichia">Leptotrichia m.m.</option>
<option value="Closmobil">Clostridium og Mobiluncus</option>
</select>
og
<select name="kanamycin">
<option value="">Kanamycin ?</option>
<option value="R">Resistent</option>
<option value="s">Sensitiv</option>
<option value="+">+: > 90% positive (< 10% negative)</option>
<option value="d+">d+: > 75-90% positive</option>
<option value="d">d: ~ 25-75% positive</option>
<option value="d-">d-: < 10-25% positive</option>
<option value="0">0: < 10% positive (> 90% negative)</option>
<option value="v">V: variabel</option>
<option value="ls">[ ]: langsomt eller svagt</option>
</select>
Listen skal fungere sådan, at hvis man f.eks. vælger "Bacteroides" i 1. liste, men IKKE vælger noget i 2. liste, så skal Mysql returnere alle Bacteriodes-posterne. Det kan jeg ikke få den til.
Min MySQl forespørgsel ser foreløbig sådan ud:
<?
$database=mysql_connect("localhost", "******", "******");
mysql_select_db("*******", $database);
$foresp1 = mysql_query("SELECT * FROM anbakterier WHERE hovedgruppe='$hovedgruppe' AND kanamycin='$kanamycin'") or die(mysql_error());
while ($data1 = mysql_fetch_array($foresp1)) {
echo $data1[1];
echo " ";
echo $data1[2];
echo "<br>";
}
?>
Problemet med denne forespørgsel er at min formular åbenbart ikke kan ignorere værdien hvis der ikke er valgt noget, men sender et eller andet videre fra 2. liste, som så ikke matcher nogen poster i basen - derfor returneres der ingen poster.
Jeg er sikker på at der er en nem løsning, for der er jo mange websider der bruger denne form for indsnævring af valg. Håber I har fået nok oplysninger og kan hjælpe :-).
Mvh Jens
