Hallo,
ich bin momentan dann dabei eine Online-Shopping Seite als Projekt für die Schule zu erstellen.
Dazu habe ich eine mysql Datenbank angelegt.
Ich habe dazu eine Seite erstellt die einen Einkaufswagen darstellt. Hier werden die Artikel die in dem einkaufswagen sind mittels einer whileschleife in einer Tabelle ausgegeben.
Ich habe das ganze in ein Formular gepackt und am anfang von eder Zeile eine Checkbox eingefügt, in der man ankreuzen soll ob man den Artike dann auch bestellen möchte oder nicht. Außerdem wird am Ende der Zeile ein Feld kreiert wo man die Anzahl eingeben kann.
Nun möchte ich die eingegebene Anzahl und die Information ob die checkbox ausgewählt ist oder nicht mittels der Post methode an eine neue datei bestellen.php übergeben in der die ensprechenden Informationen in der DB gespeichert werden sollen.
Dabei bin ich vor folgendes Problem gestoßen:
Dadurch das die Ausgabe über eine whileschleife gemacht wird habe ich quasi nur ein Formular für mehrer Artikel. Daher schaffe ich es nicht diese Informationen für jeden Artikel seperat zu übergeben. Ich habe es mit einer zähler Variable versucht edoch keinen Erfolg erzielt.
Die Einkaufswagen Datei:
Die bestellen.php
Ich hoffe es ist einigermaßen verständlich erklärt ansonsten nachfragen.
Vielen Dank schonmal
christopher910
PS. Geht das vielleicht über einen Array? Kenne mich mit Arrays aber nicht wirklich aus :/
ich bin momentan dann dabei eine Online-Shopping Seite als Projekt für die Schule zu erstellen.
Dazu habe ich eine mysql Datenbank angelegt.
Ich habe dazu eine Seite erstellt die einen Einkaufswagen darstellt. Hier werden die Artikel die in dem einkaufswagen sind mittels einer whileschleife in einer Tabelle ausgegeben.
Ich habe das ganze in ein Formular gepackt und am anfang von eder Zeile eine Checkbox eingefügt, in der man ankreuzen soll ob man den Artike dann auch bestellen möchte oder nicht. Außerdem wird am Ende der Zeile ein Feld kreiert wo man die Anzahl eingeben kann.
Nun möchte ich die eingegebene Anzahl und die Information ob die checkbox ausgewählt ist oder nicht mittels der Post methode an eine neue datei bestellen.php übergeben in der die ensprechenden Informationen in der DB gespeichert werden sollen.
Dabei bin ich vor folgendes Problem gestoßen:
Dadurch das die Ausgabe über eine whileschleife gemacht wird habe ich quasi nur ein Formular für mehrer Artikel. Daher schaffe ich es nicht diese Informationen für jeden Artikel seperat zu übergeben. Ich habe es mit einer zähler Variable versucht edoch keinen Erfolg erzielt.
Die Einkaufswagen Datei:
PHP-Code:
$query = "select Produktname, Preis, Art, e_wagen.Anzahl from e_wagen, produkt, kunde where produkt.ProduktNr = e_wagen.ProduktNr and kunde.KundeNr = e_wagen.KundeNr and E_Mail Like '".$_SESSION['E_Mail']."'";
$result = mysql_query($query); ?>
<tr>
<td></td>
<td>Produktname</td>
<td>Art</td>
<td>Preis</td>
<td>Anzahl</td>
</tr> <?php
$zähler = 1;
while($line = mysql_fetch_array($result)){ ?>
<tr>
<td><input id="check" type="checkbox" name="bestellen<?php echo $zähler; ?>" value="bestellen"></td>
<td><input id="logo" name="artikel<?php echo $zähler; ?>" type="text" size="20" maxlength="100" class="tb5" value="<?php echo $line['Produktname']; ?>" readonly></td>
<td><input id="logo" name="Art" type="text" size="20" maxlength="100" class="tb5" value="<?php echo $line['Art']; ?>" readonly></td>
<td><input id="logo" name="preis" type="text" size="3" maxlength="10" class="tb5" value="<?php echo $line['Preis']; ?>" readonly>€</td>
<td><input id="logo" name="anzahl<?php echo $zähler; ?>" type="text" size="2" maxlength="4" class="tb5" value="<?php echo $line['Anzahl']; ?>"></td>
</tr>
<?php
$zähler= $zähler +1;
}
$query = "select sum(Preis) from e_wagen, produkt, kunde where produkt.ProduktNr = e_wagen.ProduktNr and kunde.KundeNr = e_wagen.KundeNr and E_Mail Like '".$_SESSION['E_Mail']."'";
$gesamt = mysql_query($query);
?>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>Gesamtpreis</td>
<td></td>
<td><?php echo mysql_result($gesamt, 0);?>€</td>
<td></td>
</tr>
<?php
@mysql_free_result($result);
@mysql_close();
?>
</table>
</p>
<br>
<input id="artikelvalue" name="zähler" type="text" size="50" maxlength="500" value="<?php echo $zähler; ?>">
<input id="bestellenbutton" type="submit" value="Bestellung abschließen" class="bestellen">
</form>
<?php
}
?>
PHP-Code:
$zähler = $_POST["zähler"];
$zähler = $zähler -1;
While ($zähler > 0){
$check = $_POST["bestellen$zähler;"];
?><?php
$artikel = $_POST["artikel$zähler;"];
$anzahl = $_POST["anzahl$zähler;"];
$query1 = "SELECT ProduktNr FROM produkt WHERE Produktname LIKE '$artikel'";
$produktnr = mysql_query($query1);
$row1 = mysql_fetch_object($produktnr);
$sql = "Update e_wagen SET bestellen = '$check' Where ProduktNr = $row1->ProduktNr";
$sql = mysql_query($sql) or die("mysql_query() fehlgeschlagen: " . mysql_error());
$zähler = $zähler - 1;
}
?>
Vielen Dank schonmal
christopher910
PS. Geht das vielleicht über einen Array? Kenne mich mit Arrays aber nicht wirklich aus :/