Har gjort en enklare sökfunktion i php, som söker i en MySQL-databas. Som det är nu söker den bara i en kolumn. Jag skulle vilja ha ett sökfält där man kan skriva in ett sökord, men också tre andra drop-down, där man kan välja att avgränsa sökningen enligt vissa parametrar (eller kolumner då). Så att exempelvis, söker jag på "iogt-nto" i sökrutan, och väljer "skellefteå" i drop-down-rutan "Orter", så får jag således upp alla träffar på "iogt-nto" i "Skellefteå". På samma vis vill jag att man ska kunna avgränsa enbart med hjälp av drop-down-rutorna, så att man exv kan välja "nykterhetsförbund" i drop-down-rutan "Kategori" och "Skellefteå" i rutan "Ort", och således få träffar på alla nykterhetsförbund i Skellefteå.
Tack LarsG (vilket min farbror för övrigt också heter) för ett bra svar. Återstår bara att förstå hur jag ska tillväga med det. Återkommer säkerligen med fler frågor...:)
För att återgå till din ursprungliga fråga, var lagrar du det innehåll du vill ha i drop-down boxarna? Om de finns i en databas får du göra något i stil med detta. (Om orterna lagras i tabell Orter och har kolumnerna id och ort, Kategori har kolumnerna id och kat.)
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>
<select name="ort">
<?php
$sql="SELECT * FROM Orter";
$res = mysql_query($sql) or die("Ortstrul");
while ($row=mysql_fetch_array($res)) {
echo '<option value="'.$row['id'].'">"'.$row['ort'].'"</option>";
} ?>
</select>
<select name="kat">
<?php
$sql="SELECT * FROM Kategori";
$res = mysql_query($sql) or die("Kategoristrul");
while ($row=mysql_fetch_array($res)) {
echo '<option value="'.$row['id'].'">"'.$row['kat'].'"</option>";
} ?>
</select>....</form>
<?php
$where == ""
if (isSet($_POST["ort"]))
$where = "OrtID = ".$_POST["ort"];
if (isSet($_POST["kat"])) {
if ($where == "")
$where = "KatID = ".$_POST["kat"];
else $where .= " AND OrtID = ".$_POST["ort"];
}
$sql = "SELECT * FROM Tabell WHERE $where";
$res = mysql_query($sql) or die("sökstrul");
//Visa resultaten....
?>
335 ms totalt · 4 externa anrop · v20260731065814-full.20824b9f