php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.06.2006, 23:18  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 4
Shalina
Standard Query was empty bei Warenkorb

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&nbsp&nbsp[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>
Shalina ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.06.2006, 23:34  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 25
phoenix23
Standard

Das einzige was mir auffällt ist dass Du zt mit $_SESSION['nummer'], zt mit $nummer vorgehst, aber $_SESSION['nummer'] nicht gesetzt wird.
phoenix23 ist offline  
Alt 07.06.2006, 23:43  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 25
phoenix23
Standard

dann habe ich noch gesehen ,dass die update/insert query immer gemacht wird, die } ist falsch gelegen. $sql ist dann leer oder undefiniert für das erst mysql_query.
phoenix23 ist offline  
Alt 07.06.2006, 23:43  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 4
Shalina
Standard

Hallo,

Die "nummer" taucht in meiner Kundentabelle auf,
im Warenkorb heißt das Feld dann "kundennummer".
Warum zwei verschiedene Ausdrücke?
Frag mich das im nachhinein nicht mehr.

Mit der Sessionvariablen möchte ich regeln, daß der Kunde
sich beim Zurückkehren auf die Artikelseite nicht
erneut anmelden muß. Damit will ich eine erfolgreiche
Anmeldung speichern, so daß weitere Seiten, die man
aufruft, schon darüber Bescheid wissen.
Das wird vorher schon bei der Authentifizierung geregelt.

Nachtrag: Aber bei einer if/else Anweisung müssen die "{ }"
doch gesetzt werden.
Shalina ist offline  
Alt 08.06.2006, 00:04  
Gast
 
Beiträge: n/a
Standard

"query was empty" heißt, dass mysql nichts übergeben wurde.
Also bspw mysql_query(null) oder mysql_query(''), sowas in der Art.
Es geht nicht um mysql_query('SELECT ... WHERE x='); das wäre nämlich ein mysql Syntaxfehler - eine erkennbar andere Fehlermeldung.
Such Dir also raus, bei welchem mysql_query genau diese Meldung kommt und schau, wie dort eine leere Abfrage zusande kommen kann.
 
Alt 08.06.2006, 08:06  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 25
phoenix23
Standard

PHP-Code:
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()); 

von nichts eine Ahnung, aber das Grosse Geld mit einer Webseite machen wollen.......
phoenix23 ist offline  
Alt 08.06.2006, 08:40  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 4
Shalina
Standard

Hallo,

ich danke Dir wirklich für Deine Hilfe. Das habe ich übersehen.

Aber Deine letzte Bemerkung war absolut überflüssig.
Es handelt sich hier nicht um einen kommerziellen Hintergrund,
sondern es ist eine Übungsaufgabe für einen PHP-Kurs.

Aber wenn man so gut im Thema ist wie Du, übersieht man
vielleicht manchmal, daß es auch noch Leute gibt, die ganz am
Anfang stehen und für die diese Materie noch kompliziert ist.

Aber nicht desto trotz, danke daß Du mir geholfen hast!
Shalina ist offline  
Alt 08.06.2006, 11:16  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 25
phoenix23
Standard

lass dir das kursgeld zurückzahlen, solche dinge könnte man mit debügging techniken rasch einkreisen.
phoenix23 ist offline  
Alt 09.06.2006, 08:20  
Neuer Benutzer
 
Registriert seit: 07.06.2006
Beiträge: 4
Shalina
Standard

Wenn ich einzelne Artikel aus dem Warenkorb löschen will,
wie stelle ich das an?

Ich dachte schon mal an so was in der Art wie
PHP-Code:
print "<td>[url='warenkorb.php?del=".$row[]"."Artikel l&ouml;schen[/url]</td>"; 
Aber das "del" muß ich ich ja vorher irgendwie definieren.
Da bin ich mir aber nicht sicher wie.
Shalina ist offline  
Alt 09.06.2006, 13:52  
Gast
 
Beiträge: n/a
Standard

Welchen PHP Kurs belegst Du?
Werden da diese Schritte nicht beschrieben?
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Warenkorb unregistrierter User Exon PHP Tipps 2007 3 25.05.2007 19:15
[Erledigt] Warenkorb Alternative PHP-Fortgeschrittene 28 18.04.2006 14:19
warenkorb Artikelanzahl verringern Mach!N3 PHP Tipps 2006 59 30.03.2006 08:09
warenkorb & mysql Mach!N3 PHP Tipps 2006 16 27.03.2006 21:18
Winamp Playlist auslesen und in DB speichern || Query empty Ministry PHP Tipps 2006 5 04.03.2006 16:33
Query, was aus einer Tabelle mehrere Summen rausholt Datenbanken 3 14.09.2005 16:45
neuen Warenkorb erstellen PHP Tipps 2005 2 15.05.2005 14:10
[Erledigt] Hilfe - Problem mit Warenkorb PHP Tipps 2004 1 26.11.2004 11:32
einfacher warenkorb Beitragsarchiv 3 23.11.2004 16:24
anleitung für warenkorb bratwurstschorsch PHP Tipps 2004 1 25.10.2004 21:59
MySQL-Ergenis auswerten mit Fehler: '1065 Query was empty' PHP Tipps 2004 3 17.10.2004 01:41
select query durch if anweisungen splitten Datenbanken 6 06.09.2004 13:46
mysql Fehler - query was empty Anuschka Datenbanken 2 01.09.2004 00:28
Wo liegt der Fehler - Query was empty Anuschka PHP Tipps 2004 7 24.08.2004 02:59
[Erledigt] Query läuft nicht Datenbanken 6 13.08.2004 21:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php warenkorb, warenkorb.php anzahl hinzufügen, sql einzelne artikel aus warenkorb löschen, php warenkorb anzahl zählen, 1065 - query was empty, query was empty, url:warenkob.php preis=, php empty zahl, \query was empty\ mysql update insert, query was empty php, warenkorb php, mysql php update query was empty, query was empty meldung, warenkorb.php update insert, anzahl artikel im warenkorb zählen, mysql_query probleme query was empty, anzahl warenkorb erhöhen ohp, query was emty, update query was empty, mysql warenkorb artikel löschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.