PHP Checkboxen

evoleena

Erfahrenes Mitglied
Nun ich habe noch nicht sehr viel ahnung von PHP habe aber nun ein Problem bei dem ich nicht so recht weiterkomme

Also ich habe eine Datenbank mit zwei Tabellen in der einen stehen Rezepte drin in der anderen Zutaten
nun hab ich eine Seite bei der können die Zutaten angeklickt werden und am ende soll rausgefilter werden welche Rezepte ich benutzen kann wenn ich diese Zutaten da habe!

Auf der Seite angezeigte Zutaten werden aus der Datenbank entnommen ausgegeben und davon eine Checkbox angezeigt
nun hab ich das Problem wie ich dem klar mache, das er checken soll welche angeklickt wurde, und dann nach dieser in der anderen Tabelle sucht!
Angefangen hab ich damit der Checkbox eine Zählvariable zu geben, die am ende der While schleife immer um eins erhöht wird. nun ist die Frage merkt er sich welche Checkbox dann welche nummer hatte und dadurch angeben kann welche zutat ausgewählt wurde, damit er dann die Datenbank nach diesen zutaten durchsuchen kann?

Ich hoffe ihr versteht was ich meine

Der Quelltext mit dem Select und der Checkbox sieht so aus

<!--Auswahlformular-->
<?php
if (empty($schicken))
$i=0;
echo "<table border=1 align='center'>
<tr><td colspan=2 align='center'>Obst</td></tr>
<tr><td colspan=2 height='10'></td></tr>";

$result = mysql_query ("SELECT * from zutaten where art ='Obst' ",$link)
or die ("Invalid query");

while ($row = mysql_fetch_array($result))
{
echo "<tr><td><input type='checkbox' value='$i'></td><td>".$row['zutaten']."</td></tr>";
$i=$i+1;
}
echo "<tr><td colspan=2><input type='submit' name='schicken' value='Abschicken'></button>
</td></tr></table></form>";
mysql_close ($link);
 
Nö... du musst der checkbox einen Namen geben... am einfachsten allen den selben...z.B. zutaten[]
wichtig sind dabei die eckigen Klammern... durch die werden alle checkboxen als Array gesendet.

In PHP kannst du dann mit $_REQUEST['zutaten'] auf diesen Array zugreifen... die einzelnen Elemente darinnen haben die Werte der angeklickten Checkboxes.... also die jeweilige Nummer
 
hi

EDIT: Hatte paar Fehler drinnen, SORRY!

Voraussetzung ist das die Datenbankverbindung steht,
das du eine Tabelle Namens Zutaten hast in der eine
Spalte Zutat heißt!

Versuch's mal so:

PHP:
$sql_zutaten = "select * from zutaten"; 
$res_zutaten = mysql_query($sql_zutaten); 
             
while($row_zutaten = mysql_fetch_array($res_zutaten, MYSQL_ASSOC)) { 
    
   $html_ausgabe = " <input name = 'chk_zutaten[]' type = 'checkbox' 
                     value = $row_zutaten[zutat] > $row_zutaten[zutat] <br>";
                     
   $fertig = $fertig.$html_ausgabe; 

} 

echo $fertig;
 
Zuletzt bearbeitet:
Zurück