2016-07-15 12 views
0

Unten ist mein PHP-Code, um zu zeigen, wie ich Gegenstände aus dem Einkaufswagen entferne. Es wird kein Fehler in der Webseite angezeigt, aber der Artikel wird nicht entfernt und der Warenkorb wird nicht aktualisiert. Herausgegeben mit vollständigem CodeArtikel nicht aus dem Einkaufswagen entfernen

<div class="product_box"> 
      <form action="cart.php" method="post" enctype="multipart/data"> 

      <table align="center" width="700" bgcolor="skyblue"> 

       <tr> 
        <th>Remove</th> 
        <th>Product (s) </th> 
        <th>Quantity</th> 
        <th>Total Price</th> 
       </tr> 

     <?php 



     $total = 0; 

     global $db; 

     $ip = getIp(); 

     $sel_price ="select * from cart where ip_add='$ip'"; 

     $run_price = mysqli_query($db, $sel_price); 

     while ($p_price=mysqli_fetch_array($run_price)) { 

      $pro_id = $p_price['p_id']; 

      $pro_price = "select * from products where product_id='$pro_id'"; 

      $run_pro_price = mysqli_query($db, $pro_price); 

      while ($pp_price = mysqli_fetch_array($run_pro_price)) { 

       $product_price = array($pp_price ['product_price']); 

       $product_title = $pp_price['product_title']; 

       $product_image = $pp_price['product_img1']; 

       $single_price = $pp_price['product_price']; 




       $values = array_sum($product_price); 
       $total +=$values; 

      //echo "Rs ." . $total; 





      ?> 

      <tr align="center"> 
       <td><input type="checkbox" name="remove[]"></td> 
       <td><?php echo $product_title; ?><br> 
        <img src="admin_area/product_images/<?php echo $product_image;?>" width="50px" height="50px"> 
       </td> 
       <td><input type="text" name="qty" size="3"></td> 
       <td><?php echo "Rs." . $single_price ?></td> 
      </tr> 



      <?php } } ?> 
      <tr align="right"> 
       <td colspan="3"> 
        <b> Sub Total: </b> 
       </td> 
       <td> 
        <?php echo "Rs." .$total; ?> 
       </td> 
      </tr> 
      <tr align="center"> 
       <td colspan="1"><input type="submit" name="update_cart" value="Update Cart"></td> 
       <td><input type="submit" name="continue" value="Continue Shopping"></td> 
       <td><button><a href="checkout.php">Checkout</a></button></td> 
      </tr> 


      </table> 

      </form> 

      <?php 
$ip = getIp(); 

     if (isset($_POST['update_cart'])) { 

      foreach ($_POST['remove'] as $remove_id) { 

       $delete_product = "delete from cart where p_id=".$remove_id." AND ip_add=".$ip; 
       $run_delete = mysqli_query($db, $delete_product); 
       if ($run_delete) { 
        echo "<script>window.open('cart.php','_self')</script>"; 
       } 

      } 
     } 

} 


      ?> 
     </div> 
     </div> 

Ich habe versucht, Fehler zu überprüfen, indem sie unter Code nach if-Anweisung aber nicht funktioniert.

else { echo mysqli_error($db);} 

Bitte helfen Sie Danke.

+1

hast du nach 'AND gesucht und ip_add = '$ ip'' stimmt überein oder nicht? Ich meine kommende Anfrage und Daten in Db gespeichert? – C2486

+0

yes.this is right.data stroing in db –

+0

@SagarKodte plz einige Debugging .add echo Anweisungen sehen, wo es bremst –

Antwort

1

Ich habe meine Antwort Ich habe nur unter Wert hinzugefügt, Kontrollkästchen und es funktioniert.

+0

Wie ich unten gesagt habe ... Warum haben Sie diese Antwort nicht als gelöst markiert? – mamosek

+0

weil Sie einen falschen Wert deshalb geschrieben haben. Ich habe deine Antwort versucht, aber nicht funktioniert. aber ich habe meinen Fehler von deiner Antwort bekommen. Es hilft mir. Also habe ich deine Antwort aufgewertet. Vielen Dank –

0

versuchen, dies es wird Ihnen helfen

$ip = getIp(); 
if (isset($_POST['update_cart'])) { 
    foreach ($_POST['remove'] as $remove_id) { 
     $delete_product = "delete from cart where p_id=".$remove_id." AND ip_add=".$ip; 
     $run_delete = mysqli_query($db, $delete_product); 
     if ($run_delete) { 
      echo "<script>window.open('cart.php','_self')</script>"; 
     } 
    } 
} 
+0

Not works ...:( –

2

Versuchen writelog mit zu überprüfen, ob Ihre mysql-Anweisungen Werte zu bekommen. Hier ist eine kleine Funktion, die Ihnen beim Debuggen hilft.

<?php 
function writelog($content) { 
    $file = 'log.txt'; 
    file_put_contents($file, date("Y-m-d H:i:s")." : ".$content."\r\n", FILE_APPEND | LOCK_EX); 
} 

//Only display php errors to the developer... 
if($_SERVER['REMOTE_ADDR'] == "put your localhost ip address") 
{ 
    error_reporting(0); 
    ini_set('display_errors', 'On'); 
    $db_hostname = "localhost"; 
    $db_database = "ecommerce"; 
    $db_username = "root"; 
    $db_password = "";  
} 
else 
{ 
    error_reporting(0); 
    ini_set('display_errors', 'On'); 
    $db_hostname = "localhost"; 
    $db_database = "ecommerce"; 
    $db_username = "root"; 
    $db_password = "";    
} 

//Establishing database connection 
$db_connection = mysqli_connect($db_hostname, $db_username, $db_password, $db_database) or die(mysqli_error($db_connection)); 

Beispiel, wie diese Funktion nutzen: write_log ($ delete_product);

Dies wird eine Textdatei erstellen, wo Sie Ihre aktuelle PHP-Datei haben. Lernen Sie eine vollständige CRUD PHP mysqli Beispiel von dieser Website:

try this it will help you in understanding better

+0

die Datei erstellt nicht Bruder. –

+0

aktualisieren Sie Ihren vollständigen Code und es wird besser für mich zu beheben.Und wo haben Sie die $ db-Variable definiert. –

+0

siehe ich bearbeitet .... –

1

Ich glaube, Sie in der Zeile mit Checkbox sollte

<tr align="center"> 
       <td><input type="checkbox" name="remove[]"></td> 
       <td><?php echo $product_title; ?><br> 
        <img src="admin_area/product_images/<?php echo $product_image;?>" width="50px" height="50px"> 
       </td> 
       <td><input type="text" name="qty" size="3"></td> 
       <td><?php echo "Rs." . $single_price ?></td> 
      </tr> 

Sie Wert = product_id in Checkbox wie

setzen sollten
<input type="checkbox" name="remove[]" id="<?=$pp_price['product_id']?>> 
Verwandte Themen