Rezepte ausgeben

nordi

Erfahrenes Mitglied
Hallo,

ich soll für eine Freundin meiner Mutter eine Ordersystem fürs Catering machen. Jetzt hab ich dazu eine Frage bzw. ob ihr mir ein paar Tipps geben könnt.

Also, das Formular mir Namen, Anschrift usw ist kein Problem. Ich hab aber ne Frage zu den Formular mit den Gerichten.

Ich habe die Datenbank wie folgt aufgebaut. 2 Spalten. Erste Spalte: Name des Gerichts. Zweite Spalte: Checkbox für genommen oder nicht genommen.

Da die Gerichte varieren nach Jahreszeit usw finde ich es relativ aufwendig, die Gerichte auf die PHP Seite zu schreiben, dann mit Variablen zu verbinden usw. Gibt es da nicht eine einfachere Methode? Zum Beispiel aus der Datenbank auslesen lassen mit verschiedenen IDs ?
 
Es ist wohl sinnvoll eine Datenbank für die Gerichte anzulegen.
Soll die "Bestellung" dann per Mail verschickt werden oder sollst du auch ein "Backend" zur Verwaltung der Bestellungen schreiben? Falls ja, brauchst du mehrere Tabellen in deiner Datenbank, in der Gerichte, Kundendaten und Bestellungen festgehalten werden.
Schau dir doch mal simple Shopsysteme an, da kann man evtl ein bisschen von "abschreiben".
 
Soll als Backend zur Verwaltung sein.

Also hab schon angefangen. Ich habe eine Tabelle, wo alle Speisen drinnen sind. Die will ich jetzt alle ausgeben und mit Checkboxen versehen. Ich habe das So gemacht:

PHP:
<?
$link = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbtable, $link);

$ausgabe = mysql_query("SELECT * FROM $gerichte ORDER BY id");
?>

[...]

<table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <?php while($print = mysql_fetch_array($ausgabe)){?><td width="27%"><?=$print[gerichte]?></td>
        <td width="73%"><input type="checkbox" name="checkbox" value="$id" /></td>
      </tr><? } ?>
    </table>

Aber irgendwie klappt das mit der Checkbox nicht!? Also theoretisch sollte es so gehen, dass man dann die verschiedene Speisen mit einem Häckchen markiert und dann einfach auf "weiter" klicken und es wird ausgeben. Also hier meine konkrete Frage :) Wie verbinde ich die Checkboxen (id) mit den Gerichten (id)?
 
Wenn ich das richtig sehe, steht in Deinem Checkbox-Value $id und nicht dessen Wert.
Ich würde allen Checkboxen den Namen gerichte[] geben. So stehen alle IDs nach dem Absenden des Formulars in dem Array $_REQUEST['gerichte'] zur Verfügung.

Gruß hpvw
 
Also:

PHP:
<table width="100%"  border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
        <?php while($print = mysql_fetch_array($ausgabe)){?><td width="27%"><?=$print[gerichte]?></td> 
        <td width="73%"><input type="checkbox" name="checkbox" value="gerichte[]" /></td> 
      </tr><? } ?> 
    </table>

aber wie speichert man dann die Checkbox-Values in eine Datenbank. Hab das bisher immer mit INSERT INTO $gerichte (gerichte) VALUES('$gericht'); gemacht?
 
<input type="checkbox" name="gerichte[]" value="<? echo $id?>" /></td>
dann kannst du gerichte entgegennehmen und mit
for
oder
foreach
verarbeiten
 
Ok, soweit so gut. Bis jetzt klappt alles bestens!! Hab die Gerichte mit den Checkboxen verbunden. Wenn ich jetzt die Gerichte ausgesucht habe und auf den Button "Order abschließen" klicke, sollen die Gerichte mit den Personenangaben abgespeichert werden. Hab mich über den Befehl for / foreach erkundigt aber irgendwie kann ich den nicht mit meinem Code verbinden. Wie speicher in jetzt die Angaben in der Datenbank.

PHP:
<?
if($senden){

$link = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbtable, $link);
$eintrag = "INSERT INTO $order (zeit,bestellung) VALUES('$zeit','')";
$eintragen = mysql_query($eintrag);

}}
?>

Sorry, wenn ich euch löchere.
 
Du musst die Query in die foreach-Schleife integrieren.
PHP:
foreach($_POST['gerichte'] as $gericht){
   $eintrag = "INSERT INTO $order (zeit,bestellung) VALUES('$zeit','$gericht')"; 
   $eintragen = mysql_query($eintrag);
}
Das legt für jedes angehlte Gericht einen neuen Datensatz in der DB mit der entsprechenden Gerichte-id an.
 
Zurück