ich habe ein Problem und das schon seit gestern. Ich habe schon alles probiert und viele Freunde gefragt. Keiner wusste Rat. Nun post ich hier in der Hoffnung, dass jemand weiter weiss.
Situation:
Ich habe ein Pizza-Bestell-System mit User-Frontend und Admin-Oberflaeche. Ich habe jeweils eine index.php und benutze das Template-System Smarty. Der Benutzer kann Bestellungen einsenden und der Administrator kann diese verwalten.
Problem:
Das Problem liegt bei der Auflistung aller in der Datenbank enthaltenen Bestellungen. Ich lese die Bestellungen folgendermassen aus der Datenbank aus:
$sql->query('SELECT * FROM '.$mysql['table']['rdrs'].' WHERE processed != 1'); if ($sql->error()) {echo $sql->display_error(); die;} $orders = array(); while ($order = $sql->fetch_assoc()) { $orders[] = $order; }
Da funktioniert auch soweit. Ich bekomme ein Array ($orders) mit allen Bestellungen. Elemente beginnen bei 0.
Nun moechte ich fuer jede Bestellung diverse Aktionen ausfuehren. Welche ist uninteressant, da das nicht Teil des Problems ist. Ich verwende also eine for-Schleife.
for ($i=0; $i<count($orders); $i++) { // ... }
Hier liegt nun das Problem. Bei mehr als einer vorhandenen Bestellung laeuft alles sauber bis auf die Tatsache, dass ein Eintrag zu viel aufgefuehrt wird. Bei nur einem Eintrag wird dieser aufgelistet aber die Aktionen innerhalb der for-Schleife werden nicht korrekt ausgefuehrt. Ich denke, dass es an einem fehlerhaften Wert fuer $i liegt. Also, dass die for-Schleife nicht richtig funktioniert.
Weiss jemand von euch, wie ich es richtig mache bzw. was ich falsch mache?
Viele Gruesse und Dank schonmal im Vorraus,
Pelziges Waldtier