2016-03-23 2 views
1

Im Kommentarbereich, soll ich es aus der Datenbank löschen, aber es funktioniert nicht. Ich will es, wenn Benutzer die Menge auf 0 setzen, dann wird das Element in der Datenbank gelöscht. Es wurde nur im Array gelöscht.Löschen Sie das Element aus der Datenbank, wenn die auf 0 eingestellte Menge nicht funktioniert. Nur aus dem Array gelöscht

<?php 
     /*require_once('Connections/catalogue.php');*/ 
     if(isset($_POST['submit'])) 
     { 
      if(isset($_POST['quantity'])) 
      foreach($_POST['quantity'] as $key => $val) 
      { 
       if($val==0) 
       { 
        unset($_SESSION['cart'][$key]); 
        /* $sql_delete="DELETE FROM `maklumat_belian` WHERE id_produk=id"; 
        $result=mysql_query($sql_delete); 
        if ($result) 
        header("Location: products.php?page=cart"); */ 

       } 
       else 
       { 
        $_SESSION['cart'][$key]['quantity']=$val; 
       } 
      } 
     } 
    ?> 
+0

Sie werde muss die Produkt-ID übergeben, um in der DELETE-Anweisung verwendet werden, und ja, es funktioniert nicht, da der MySQL-Code unvollständig und kommentiert – Ghost

+0

@Ghost im Geben ist nur der code-bereich und ich habe ihn kommentiert, um die aussage hervorzuheben, damit ihr wisst, über welche sektion ich rede. Übrigens, danke für deine Tipps. Ich weiß es zu schätzen. – JunieL

Antwort

1

Wenn Produkt-ID ist $ _SESSION [ 'Warenkorb'] [$ key]

$id_produk = $_SESSION['cart'][$key]; 

Wenn Produkt-ID $ key

$id_produk = $key; 

Code ist:

<?php 
    /*require_once('Connections/catalogue.php');*/ 
    if(isset($_POST['submit'])) 
    { 
     if(isset($_POST['quantity'])) 
     foreach($_POST['quantity'] as $key => $val) 
     { 
      if($val==0) 
      { 
       unset($_SESSION['cart'][$key]); 

       $id_produk = $_SESSION['cart'][$key]; # Asssign the product id 

       $sql_delete="DELETE FROM `maklumat_belian` WHERE id_produk='$id_produk'"; 
       $result=mysql_query($sql_delete); 
       /*if ($result) 
       header("Location: products.php?page=cart");*/ 

      } 
      else 
      { 
       $_SESSION['cart'][$key]['quantity']=$val; 
      } 
     } 
    } 
?> 
+0

beide Code von Ihnen und @ lov2code scheint in Ordnung, aber ich habe einen Fehler, der besagt, dass 'Hinweis: Undefined offset: 128'. die Zahl 128 nehme ich an, ist eine Produktnummer. – JunieL

+1

dieser Fehler bereits behoben und dieser Code funktioniert. Danke!! – JunieL

1

Unter der Annahme, dass $_SESSION['cart'][$key] die Produkt-ID in der Datenbank ist, müssen Sie zuerst den Kommentar-Tags von PHP-Code (/**/) entfernen. So sollte diese Arbeit, wenn Sie es mit Ihrer aktuellen SQL-Abfrage ersetzen:

if($val==0){ 
    unset($_SESSION['cart'][$key]); 

    $sql_delete="DELETE FROM `maklumat_belian` WHERE id_produk=".$_SESSION['cart'][$key]; 
    $result=mysql_query($sql_delete); 

    if ($result){ 
    header("Location: products.php?page=cart"); 
    } 
} 

Nur eine Seite nicht, mich mit so etwas wie PDO aus Sicherheitsgründen sehr empfehlen. Durch die Verwendung von mysql_query und die direkte Einfügung von IDs riskieren Sie Angriffe. Nur zum Nachdenken. Hoffe das hilft!

Verwandte Themen