#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";
* означает ВСЕ