Formular: Zusammengehörende Checkboxen & Textfeldern übergeben
marthe
- php
Ich habe ein Bestellformular, in dem für jeden Artikel eine Checkbox aktiviert werden kann. In der gleichen <tr> gibt es ein input text-feld, in dem man die Anzahl angeben kann.
(Beispiel:)
<tr>
<td><input type="checkbox" name="bestellt[]" value="<b>Schokolade</b> mit Nüssen"</td>
<td><b>Schokolade</b></td>
<td>mit Nüssen</td>
<td><input type="text" value="" name="anz[]" size="2" maxlength="3"></td>
</tr>
Auf der nächsten php-Seite soll nun die Bestellung angezeigt werden.
for ($i = 0; $i < count($bestellt); $i++)
{
echo "<tr><td>".$bestellt[$i]."</td></tr>";
echo "<tr><td>Anzahl: ".$anz[$i]."";
echo "</td></tr>";
}
Wie erreiche ich, dass zu der Bestellung die dazugehörige Anzahl ausgegeben wird?
Das Anzahl-Array in der for-Schleife ist falsch, da dort alle vorhandenen Arrays durchgegangen werden, und nicht nur die, zu denen der Artikel ausgewählt ist.
Wie kann ich es richtig machen? Weiß das jemand?
Hallo,
Wie erreiche ich, dass zu der Bestellung die dazugehörige Anzahl ausgegeben wird?
Das Anzahl-Array in der for-Schleife ist falsch, da dort alle vorhandenen Arrays durchgegangen werden, und nicht nur die, zu denen der Artikel ausgewählt ist.
Du musst schon beim Ausgeben jedem Element einen Array-Schlüssel geben und dann beim Auswerten das Array mir foreach (und _nicht_ for) abarbeiten.
also:
<tr>
<td><input type="checkbox" name="bestellt[1]" value="<b>Schokolade</b> mit Nüssen"</td>
<td><b>Schokolade</b></td>
<td>mit Nüssen</td>
<td><input type="text" value="" name="anz[1]" size="2" maxlength="3"></td>
</tr>
------
foreach ($bestellt as $key => $value)
{
echo "<tr><td>".$value."</td></tr>";
echo "<tr><td>Anzahl: ".$anz[$key]."";
echo "</td></tr>";
}
Grüße,
Christian
Die Checkboxen wird ich erst mal so schreiben:
<input type="checkbox" name="bestellt" value="[0]">
<input type="checkbox" name="bestellt" value="[1]">
.
.
.
.
auf der näachsten php seite gehts dann anz auszählen
$anz ist dabei die anzahl der checkboxen
$x=0;
for ($i = 0; $i < $anz; $i++)
{ if($bestellt=="[$i]") $x++; }
jetzt müsste in $x die Anzahl der Bestellungen sein!
Hoffe konnt helfen
Tobias