Warenkorbeinträge löschen

  • Ich möchte nun gerne, dass die while - Schleife abgebrochen wird, wenn der Warenkorb leer ist, damit diese Fehlermeldung nicht kommt. Aber ich kriege das nicht hin, da der break ja in der Schleife sein muss, aber die Fehlermeldung gleich zu Beginn kommt. Wie muss ich das machen?


    $inhalt = implode(",", $_SESSION["einkaufswagen"]);
    $abfrage = "SELECT * FROM warenliste WHERE ID IN ($inhalt) ";
    $erg = mysql_query($abfrage);


    while
    ($inhalt = mysql_fetch_assoc( $erg))


    {
    if (empty($inhalt))
    {
    echo "Du hast keine Produkte im Warenkorb" ; }
    {break;}

  • du willst doch aber sicher gar nicht erst die Tabelle anzeigen oder?



    dann mach den code doch so


    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Roland ()

  • Super, nun klappt alles. Vielen Dank für deine Mühe. Das war mit echt eine grosse Hilfe und ich habe auch viel gelernt. :thumbsup:
    Werde jetzt noch das Design verbessern und irgendwann möchte ich dann auch noch den Gesamtpreis hinbekommen. Aber das wird dann ein neues Thema.

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von jola58 ()

  • so?


    PHP
    1. $summe = 0;
    2. while ($inhalt = mysql_fetch_assoc($erg))
    3. {
    4. $summe += $inhalt['Preis']; // ist das gleiche wie $summe = $summe + $inhalt['Preis'];
    5. //...
    6. }
    7. echo "der Gesamtpreis ist ".$summe.'€';
  • Zu früh gefreut. Also, wenn ich das Produkt lösche, kommt zuerst nochmals diese Fehlermeldung : mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
    bezogen auf while-Zeile. Wenn ich aber die Seite dann reloade, dann geht die Meldung weg und es kommt wie gewünscht: Kein Produkt im Warenkorb.
    Was läuft da noch nicht ganz richtig?

  • was es doch immer wieder für sachen gibt die man vergisst^^


    ist klar er prüft im warenkorb ist was er sagt ja...
    dann wird aber etwas gelöscht, der server denkt aber immer noch der Warenkorb ist voll, da die if abfrage vorher kam (befor gelöscht wurde)



    du musst also einfach nur diesen teil:


    $_SESSION["einkaufswagen"]= array_unique($_SESSION["einkaufswagen"]);
    $delete = ($_GET['dell_art']);
    if(!empty($delete)){
    $key = array_search($delete, $_SESSION["einkaufswagen"]);
    if($key !== false){
    unset($_SESSION["einkaufswagen"][$key]);
    }
    }


    vor die if abfrage packen


    also