Hallo Zusammen!
Habe eine Frage wie kann ich ($id) wo definieren.
Fehlermeldung
Die Skripte dazu:
artikel.php
bestellung.php
Habe eine Frage wie kann ich ($id) wo definieren.
Fehlermeldung
Code:
Notice: Undefined variable: id in C:\xampp\htdocs\PHP03\bestellung.php on line 9 Column count doesn't match value count at row 1
artikel.php
PHP-Code:
<?php
include("dbconnect.php");
$sql = "select
id,
name,
preis
from
artikel
order by
preis DESC;";
$result = mysql_query($sql) or die (mysql_error());
?>
<html>
<head><title>Artikelseite</title></head>
<body>
<h1>Artikelseite</h1>
Folgende Artikel können Sie bestellen
<table cellpadding="4" cellspacing="2" border="0">
<tr bgcolor="#FFFF00">
<th>Artikel</th><th>Preis</th><th> </th>
</tr>
<?php
while($row = mysql_fetch_assoc($result))
{
print "<tr bgcolor='#cccccc'>";
print "<td>".$row['name']."</td>";
print "<td>".$row['preis']." Euro</td>";
print "<td><a href='bestellung.php?id=".$row['id']."'>bestellen</a></td>";
print "</tr>";
}
?>
</table>
</body>
</html>
bestellung.php
PHP-Code:
<?php error_reporting(E_ALL);
include("dbconnect.php");
//Bestelldaten in die Datenbank schreiben
//Da das bestellid-Feld auf auto-increment
//gesetzt wurde, muss es nicht angegeben werden
$sql = "insert into bestellungen
(artikelid)
values
($id)";
mysql_query($sql) or die (mysql_error());
//Jetzt die Artikeldaten zwecks Anzeige selektieren
$sql = "select
name,
preis,
bestand
from
artikel
where
id=$id";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_assoc($result);
//Bestanddaten des bestellten Artikels aktualisieren
$sql = "UPDATE artikel SET
bestand=".($row['bestand']-1)
." where
id=$id";
$result = mysql_query($sql) or die(mysql_error());
?>
<html>
<head><title>Bestellseite</title></head>
<body>
<h1>Vielen Dank für Ihre Bestellung</h1>
Folgende Artikel haben Sie bestellt
<table cellpadding="4" cellspacing="2" border="0">
<tr bgcolor="#FFFF00">
<th>Artikel</th><th>Preis</th>
</tr>
<?php
//Die mysql_fetch_assoc, die hier stand, wird jeetzt schon vorhere aufgerufen
//$row = mysql_fetch_assoc($result);
print "<tr bgcolor='#cccccc'>";
print "<td>".$row['name']."</td>";
print "<td>".$row['preis']." Euro</td>";
print "</tr>";
?>
</table>
<a href="artikel.php">Zurück zur Artikelseite</a>
</body>
</html>
Kommentar