| | | | |
| | |
| Benutzer Registriert seit: 26.03.2006
Beiträge: 82
![]() | Schönen Sonntag Ich bin derzeit dabei einen Warenkorb zu programmieren. Ob ich nun ein ANfänger oder ein Fortgeschrittener bin kann ich leider wirklich nicht beurteilen, das müsst Ihr machen. Ich hab meinen Warenkorb soweit, dass der User bei Klick auf die Artikel den Artikel in den Warenkorb legen kann. Allerdings wird in der mysql Tabelle auch eine "neue" Zeile geschrieben wenn ich z.B. zweimal den gleichen Artikel auswähle. Die warenkorb Tabelle besteht aus "id (auto_increment), kundennummer und artikelid". Ich würde nun die Tabelle mit der Spalte "Anzahl" erweitern, aber ich komme einfach nicht drauf wie ich mein Script umändern soll, dass der Bestand um eins erhöt wird wenn mehrmals Artikel ausgewählt werden. Ich hab zwar in meiner artikel.php das mit der "Update" SQL Anweisung sinnvoll umsetzen können, aber nun hab ich wirklich einen Denkknoten. Ich wäre Euch mehr als dankbar wenn Ihr mir helfen könntet. Hier meine Scripte die hier relevant sind: artikel.php Code: <?php
session_start();
include("dbconnect.php");
include("authentifizierung.php");
// Es wird ein SQL Befehl in einer Variablen gespeichert
$sql = "select id, name, preis, bestand from artikel order by preis DESC";
// In folgender Variable wird die Datenbankanfrage gespeichert inkl. der Fehlermeldung bei Nicht-Funktion
$result = mysql_query($sql) or die (mysql_error());
?>
<html>
<head><title>Artikelliste</title></head>
<body>
<h1>Artikelliste</h1>
Folgende Artikel können Sie bestellen
<table cellspacing=2 cellpadding=4 border=0>
<tr bgcolor="yellow">
<th>Artikel</th><th>Preis</th><th>Bestand</th><th> </th>
</tr>
<?php
while($row = mysql_fetch_assoc($result))
{
print "<tr bgcolor='#cccccc'>";
print "<td>".$row['name']."</td><td>".$row['preis']." Euro</td><td>".$row['bestand']."</td>";
print "<td><a href=warenkorb.php?id=".$row['id'].">". "Warenkorb</a></td>";
print "</tr>";
}
?>
</table>
</body>
</html>
Code: <?php
session_start();
include ("dbconnect.php");
include("authentifizierung.php");
// Bestelldaten in die Datenbank schreiben
// Da das bestellid-Feld auf auto-increment
// gesetzt wurde, muss es nicht angegeben werden.
$sql = "insert into warenkorb (artikelid, kundennummer) values ($id, ".$_SESSION['nummer'].")";
mysql_query($sql) or die (mysql_error());
// Jetzt die Artikeldaten zwecks Anzeige selektieren
$sql = "select name, preis from artikel, warenkorb where warenkorb.kundennummer=".$_SESSION['nummer']." and artikel.id=warenkorb.artikelid";
$result = mysql_query($sql) or die (mysql_error());
?>
<html>
<head><title>Bestellseite</title></head>
<body>
<h1>Warenkorb</h1>
Folgende Artikel liegen im Warenkorb
<table cellspacing=2 cellpadding=4 border=0>
<tr bgcolor="yellow">
<th>Artikel</th><th>Preis</th>
</tr>
<?php
// Die mysql_fetch_assoc, die hier stand, wird jetzt schon vorher aufgerufen
while($row = mysql_fetch_assoc($result))
{
print "<tr bgcolor='#cccccc'>";
print "<td>".$row['name']."</td><td>".$row['preis']." Euro</td>";
print "</tr>";
}
?>
</table>
Zurück zur Artikelseite
</body></html>
|
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| Themen-Optionen | |
| Thema bewerten | |
|
|

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.