Ik wil graag voor mijn site een uitgebreide zoek/selecteer pagina bouwen, denk aan bv hoe je op 'autotrader' een geschikte auto kiest, alleen dan niet voor auto;s..
:)
Alleen, t lijkt me nogal een lastig verhaal..maar misschien denk ik nu te moeilijk,
ik loop nu in ieder geval al tegen t volgende aan en volgen smij doe ik nu te veel met php, en kan dat veel beter met sql.
Ik heb een tabel met machines en een tabel met opties welke aan elkaar gekoppeld zij met een tabel machine_opties.Als test doe k nu het volgende:
Als ik nu een lijstje met alle opties maak, welke bijv. d.m.v een checkbox aangevinkt kunnen worden, verstuur ik het formulier, en vervolgens moet ik in de tabel machine_opties gaan kijken welke machine(s) voldoen aan deze opties, en vervolgens kan ik daar weer wat mee doen...
alleen aangezien alle opties binnenkomen als
optie[1]
optie[2]
etc
Moet ik lastige loop trucken uithalen met als resultaat dubbele resultaten,
en dan kijk ik nog maar naar 1 ding (opties), terwijl daar straks -als het goed is -
nog veel meer dingen bijkomen....
Kan iemand me uitleggen wat de beste manier is om zoiets aan te pakken?
Dit is waar ik nu mee zit te testen:
------------------------------
<?
include "includes/config.php" ;
?>
<form name="form1" method="post" action="<? echo $PHP_SELF; ?>">
<?
if (isset ($_POST["Submit"])) { // als er op opslaan is geklikt
echo "Zoekresultaat <br>";
if (isset ($_POST["optie"])) { // als er op opslaan is geklikt
foreach ($_POST["optie"] as $optie) { // voor elke aangevinkte optie
$sql = "
SELECT * FROM
machine_opties AS mo
WHERE
mo.optie_id= $optie";
echo mysql_error();
$result = mysql_query($sql);
while($r=mysql_fetch_array($result)){
echo $r['machine_id'] . '<br>';
}
}
}
}
?>
<?
//// OPTIES
$sql=mysql_query("SELECT * FROM opties");
echo mysql_error();
while($r=mysql_fetch_array($sql)){
?>
<p>
<input type="checkbox" name="optie[]" value="<? echo $r['id'] ?>"/>
<? echo $r['naam'] ?><br />
<?
}
?>
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
<br>
--------
Dit kan bijv. als resultaat hebben:
Zoekresultaat
5
6
5
Waarbij id=5 nu twee keer voorkomt, terwijl ik id=5 (als advies) maar 1 keer wil tonen