warenkorb

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von manuelag, 04.04.2007.

  1. manuelag

    manuelag Thread Starter MacUser Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    MacUser seit:
    26.01.2007
    Hallo,
    leider bin ich im Forum nicht fündig geworden, bastel schon seit Wochen an einem Warenkorb herum, da ich gerade versuche PHP und SQL zu erlernen. Wäre klasse, wenn mir jemand helfen könnte. Am besten so, dass es auch ein Neuling versteht. Von meiner Artikelseite sollen auf klick die Waren in den Warenkorb gelegt werden, was leider nicht funktioniert. Es steht leider nur das gesamte Gerüst da, ohne Daten. irgednwo gehen mir die Daten verloren...

    Danke
    Manuela


    Das Script sieht folgendermaßen aus:

    Code:
    <?php
    session_start();
    include("dbconnect.php");
    
    $_SESSION['nummer'] = $kundennummer;
    
    if(!isset($_GET['id'])) {
    $sql = "INSERT into
        warenkorb
            artikelid,
            kundennummer,
            anzahl
        values ($id, ".$_SESSION['nummer'].", $anzahl)";
    
    mysql_query($sql) or die(mysql_error());
    }
    $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());
    $row = mysql_fetch_assoc($result);
    
    $anzahl = "UPDATE
                    warenkorb
                SET
                    anzahl=".($row['anzahl']+1)
                ."WHERE
                    artikelid='$artikelid'
                AND
                    kundennummer='$kundennummer'";
    $result = mysql_query($anzahl) or die(mysql_error());
    
    ?>
    
    <html>
    <head><title>Warenkorb</title></head>
    <body>
    <h1>Warenkorb</h1>
    <p><a href="bestellung.php">Jetzt bestellen</a><br><br>
    <p>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  
    
        print "<tr bgcolor='#cccccc'>";
        print "<td>".$row['name']."</td><td>".$row['preis']." Euro</td><td>".$row['anzahl']."</td><td><a href='warenkorb.php?delete=".$row['artikelid']."'>"."Artikel l&ouml;schen</a></td>";
        print "</tr>";            
    ?>
    </table>
    <p><a href="artikel.php">Zurück zur Artikelseite</a></p>
    </body></html>
     
  2. koli.bri

    koli.bri Gast

    Magst Du den Quelltext bitte mit den PHP-Tags vom Forum einfügen?
    Dann geht auch die Einrückung nicht verloren, und das ganze wird lesbar :)
    Ansonsten:
    Grundsätze:

    Den Query ausgeben lassen, und mit PHPMyAdmin überprüfen, ob der auch was ausgibt.

    Das Result-Array mal mit print_r($arrayname) ausgeben lasse, und gucken, wie der Inhalt ist.

    gruß
    Lukas
     
  3. NoNick

    NoNick MacUser Mitglied

    Beiträge:
    134
    Zustimmungen:
    0
    MacUser seit:
    16.01.2006
    Überprüf auch mal, ob der Code im if-Zweig überhaupt ausgeführt wird.
    Wo werden die Variablen $id und $anzahl initialisiert?
     
  4. manuelag

    manuelag Thread Starter MacUser Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    MacUser seit:
    26.01.2007
    PHP Tags vom Forum? Leider weiß ich nicht, wo ich die finde.

    Grüße
    Manuela
     
  5. koli.bri

    koli.bri Gast

    Entweder Manuel wie HTML-Tags einfügen, mit [ PHP ][ /PHP ] ohne Lerzeichen.
    Oder beim Erstellen, bzw erweiterten Erstellen eines Beitrag in der Icon-Leiste über der Textarea, bei mir das zweite Icon von Rechts. Steht auch klein PHP drin. :)

    gruß
    Lukas
     
    Zuletzt von einem Moderator bearbeitet: 04.04.2007
  6. manuelag

    manuelag Thread Starter MacUser Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    MacUser seit:
    26.01.2007
    Sorry, das php war etwas winzig...
    Falls das so auch nicht klappt, habe ich die Datei angehängt.

    Manuela


    PHP:
    <?php
    session_start
    ();
    include(
    "dbconnect.php");

    $_SESSION['nummer'] = $kundennummer;

    if(!isset(
    $_GET['id'])) {
    $sql "INSERT into
        warenkorb
            artikelid,
            kundennummer,
            anzahl
        values (
    $id, ".$_SESSION['nummer'].", $anzahl)";

    mysql_query($sql) or die(mysql_error());
    }
    $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());
    $row mysql_fetch_assoc($result);

    $anzahl "UPDATE
                    warenkorb
                SET
                    anzahl="
    .($row['anzahl']+1)
                .
    "WHERE
                    artikelid='
    $artikelid'
                AND
                    kundennummer='
    $kundennummer'";
    $result mysql_query($anzahl) or die(mysql_error());

    ?>

    <html>
    <head><title>Warenkorb</title></head>
    <body>
    <h1>Warenkorb</h1>
    <p><a href="bestellung.php">Jetzt bestellen</a><br><br>
    <p>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   

        
    print "<tr bgcolor='#cccccc'>";
        print 
    "<td>".$row['name']."</td><td>".$row['preis']." Euro</td><td>".$row['anzahl']."</td><td><a href='warenkorb.php?delete=".$row['artikelid']."'>"."Artikel l&ouml;schen</a></td>";
        print 
    "</tr>";             
    ?>
    </table>
    <p><a href="artikel.php">Zurück zur Artikelseite</a></p>
    </body></html> 
      
     
  7. manuelag

    manuelag Thread Starter MacUser Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    MacUser seit:
    26.01.2007
    Hallo No Nick,
    die Variablen id und anzahl sind in der Datenbank Artikel enthalten, bzw Anzahl soll zu Warenkorb neu hinzugefügt werden.

    Grüße
    Manuela
     
  8. NoNick

    NoNick MacUser Mitglied

    Beiträge:
    134
    Zustimmungen:
    0
    MacUser seit:
    16.01.2006
    Hallo

    Wenn das Skript vollständig ist, dann enthalten die Variablen aber an den Stellen, an denen Du Sie verwendest, keine Werte.

    Auch $kundennummer, deren Wert Du an die Session übergeben willst, ist wohl leer.

    Lass Dir die Query doch einfach mal ausgeben (mit echo oder print), dann siehst Du, welche Anfrage an MySQL gesendet werden soll.

    lg
     
  9. manuelag

    manuelag Thread Starter MacUser Mitglied

    Beiträge:
    13
    Zustimmungen:
    0
    MacUser seit:
    26.01.2007
    Klasse, jetzt gibt es folgende fehlermeldung:

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'artikelid='' AND kundennummer='3'' at line 5

    lg
    Manuela
     
  10. NoNick

    NoNick MacUser Mitglied

    Beiträge:
    134
    Zustimmungen:
    0
    MacUser seit:
    16.01.2006
    Das ist doch schon mal etwas ;)
    Der Fehler kommt von der Update-Query? Sieht so aus, als wär die Variable $artikelid leer.

    lg
     

Diese Seite empfehlen