Как заставить кнопку добавления и вычитания количества в цикле for хорошо работать в php

#php

#php

Вопрос:

Я разрабатываю сайт электронной коммерции на php, и я создаю все товары вместе с отображением кнопок с помощью цикла for на странице корзины. я выполнил функцию для добавления и вычитания количества товара, но проблема в том, что при нажатии одной кнопки она работает для всех товаров, а не для всех товаров.один из конкретных продуктов, для которых он был нажат. пожалуйста, как мне это исправить

 <?php
             echo"<table border='1' class='doctortable1'>";
                
               $val1="SELECT * FROM cart where idnum = '$sesid' ";

               $val2=mysqli_query($db,$val1);

                $val3=mysqli_num_rows($val2);
                
                if($val3 != 0)
                {
                    function minusqnty( $con1e){
              $user="root";
                $pass="";
                $db="aj";
                $db = new mysqli('localhost',$user,$pass,$db) or die ("could not connect");
                             
                $qnty1 = "SELECT * FROM cart  WHERE oid = '$con1e'";
                             
                 $qnty2 = mysqli_query($db,$qnty1);
            
            $qnty3 = mysqli_fetch_assoc($qnty2);
                             $qnty4 = $qnty3['quantity'];
                            $qnty5 = $qnty4 - 1;
                             
                //updating quantity record
                $qnty6 = "UPDATE cart SET quantity ='$qnty5' WHERE oid = $con1e";
                             mysqli_query($db,$qnty6);
                             
                     }
                         
                         function plusqnty( $con1e){
              $user="root";
                $pass="";
                $db="aj";
                $db = new mysqli('localhost',$user,$pass,$db) or die ("could not connect");
                             
                $qnty1 = "SELECT * FROM cart  WHERE oid = '$con1e'";
                             
                 $qnty2 = mysqli_query($db,$qnty1);
            
            $qnty3 = mysqli_fetch_assoc($qnty2);
                             $qnty4 = $qnty3['quantity'];
                            $qnty5 = $qnty4   1;
                             
                //updating quantity record
                $qnty6 = "UPDATE cart SET quantity ='$qnty5' WHERE oid = $con1e";
                             mysqli_query($db,$qnty6);
                             
                     }
                    
                    
                     
                     for($x=1; $x<=$val3; $x   ){
                         
                         
                         $con1c = mysqli_fetch_array($con1a);
                         
                         $con1d = $con1c['photo'];
                         
                         $con1e = $con1c['oid'];
                         
                         echo"<tr class = 'sectionc1'>";
                         
                         echo"<td class='sectionc1a'>"."<img src= $con1d class= 'sectionc1a1' >"."</td>";
                         
                         //function for quantity button
                         
                            if(array_key_exists('minusqnty',$_POST))
                {
                        minusqnty($con1e);
                    }
                         
                          if(array_key_exists('plusqnty',$_POST))
                {
                        plusqnty($con1e);
                    }
                         
                          echo"<td class='sectionc1b'>".
                              
                              "
                              <table class='sectionc1b1' >
                              <tr>
                              <td>Name: " .$con1c['name']."</td>
                              </tr>
                              <tr>
                              <td>Price: " .$con1c['price']." naira</td>
                              </tr>
                              <tr>
                              <td>Quantity:   "."
                              <td>
                              <div class='sectionc1b2'>
                            
                    <form method='post'>". "<input type='submit' class='sectionc1b2a' name='minusqnty' id='minusqnty' value='-' />".      "</form>
                              
                              <div class='sectionc1b2b'>" .$con1c['quantity']."</div>
                              
                      <form method='post'>". "<input type='submit' class='sectionc1b2c' name='plusqnty' id='plusqnty' value=' ' />".      "</form>
                              
                              </div></td>
                              "."</td>
                              </tr>
                              <tr>
                              <td><a href='' class='sectionc1b2d'>Remove Item</a></td>
                              </tr>
                              <tr>
                              <td><a href='' class='sectionc1b2d'>Read all about the product</a></td>
                              </tr>
                              </table> 
                              "
                              
                              ."</td>";
                         
                         echo"</tr>";
                         
                    
                        //break;
                    }
                    /*while($con1c = mysqli_fetch_array($con1a)){
                        $con1d = $con1c['photo'];
                         
                         echo"<tr class = 'sectionc1'>";
                         
                         echo"<td class='sectionc1a'>"."<div class='sectionc1a1'>
                         $con1d;
                         </div>"."</td>";
                         
                          echo"<td class='sectionc1b'>"."sdsds"."</td>";
                         
                         echo"</tr>";
                   }*/
              
               
               }
                else
                {
                    echo "<h1>You have no items in your cart <h1>";
                   
                }
        echo"</table>";
        ?>
    </div>
 

это описание введите изображение здесь

Ответ №1:

Эта строка здесь — ваша проблема, вы выбираете все элементы и удаляете их:

 $qnty1 = "SELECT * FROM cart  WHERE oid = '$con1e'";
 

Эта строка кода ниже является правильной и не нуждается в строке выше:

 $qnty6 = "UPDATE cart SET quantity ='$qnty5' WHERE oid = $con1e"; 
 

* означает ВСЕ