Guten Abend alle zusammen,
habe 2 Dateien, die "artikel.php" und die "warenkorb.php". In der "artikel.php" kann man zwischen verschiedenen Artikeln wählen,
die man mit "in den Warenkorb" hinter dem jeweiligen Artikel an den Warenkorb übergeben kann. Das funktioniert auch alles ausgezeichnet.
Über der Artikelliste hat man dann auch noch die Möglichkeit, direkt "Zum Warenkorb" zu gelangen.
Und dort kommt die Fehlermeldung "Query was empty", und das vollkommen unabhängig davon, ob im Warenkorb schon Artikel liegen oder nicht.
Das ist mit unbegreiflich, da alles andere ja funktioniert. Ich habe mir mal ergoogelt, daß man mit "mysql_num_rows" den Warenkorb abfangen könnte.
Aber erstens weiß ich nicht, ob das für meinen Fall richtig ist und zweitens, wo ich diesen Befehl denn dann einbauen müsste?
Im Anhang poste ich die zwei relevanten Dateien. Für Hilfe wäre ich dankbar.
Gruß Shalina
PHP-Code:
<?php
include("dbconnect.php");
include("authentifizierung.php");
$sql = "SELECT
id,
name,
preis,
bestand
FROM
artikel
ORDER BY
preis DESC;";
$result = mysql_query($sql) or die(mysql_error());
?>
<html>
<head><title>Artikelseite</title></head>
<body>
<h1>Artikelliste</h1>
Folgende Artikel können Sie bestellen  [url="warenkorb.php"]Zum Warenkorb[/url]
<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>";
print "<td>".$row['bestand']."</td>";
print "<td><a
href='warenkorb.php?id=".$row['id']."'>".
"In den Warenkorb</a></td>";
print"</tr>";
}
?>
</table>
</body>
</html>
PHP-Code:
<?php session_start();
include ("dbconnect.php");
include("authentifizierung.php");
$anzahl = "select count(*) as anzahl from warenkorb where kundennummer='$nummer' and artikelid='$id'";
$erg = mysql_query($anzahl) or die(mysql_error());
$bestellt = mysql_fetch_array($erg);
if(!empty($_GET['id']))
if($bestellt['anzahl']>0) {
$sql ="update warenkorb set anzahl=anzahl+1 where kundennummer=$nummer and artikelid=$id";
}
else
{
$sql ="insert into warenkorb (anzahl, artikelid, kundennummer) values ('1', $id, ".$_SESSION['nummer']." )";
}
mysql_query($sql) or die (mysql_error());
// Jetzt die Artikeldaten zwecks Anzeige selektieren
$sql = "select name, preis, anzahl 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>
[url="bestellung.php"]Bestellen[/url]
Folgende Artikel liegen im Warenkorb</p>
<table cellspacing=2 cellpadding=4 border=0>
<tr bgcolor="yellow">
<th>Artikel</th><th>Preis</th><th>Anzahl</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>";
print "<td>".$row['preis']." Euro</td>";
print "<td>".$row['anzahl']."</td>";
print "</tr>";
}
?>
</table>
[url="artikel.php"]Zurück zur Artikelseite[/url]</p>
</body></html>