- Автор темы
- #1
Здравствуйте!
Есть корзина товар, в которой пользователь меняет колличество заказываемого товар (автоматом количество ставится 1, пользователь только в корзине может поменять количество товара).
Вот мой скрипт корзины:
Данный скрипт меняет количество заказываемых товаров во всех строка на число указанное в самом первом input,
Допустим в корзине выводится:
молоко - 1
хлеб - 1
мороженое - 1
Если мне надо заказать хлеба 3шт, я меняю 1 на 3:
молоко - 1
хлеб - 3
мороженое - 1
После чего нажимаю на кнопку пересчитать сумму, и у меня происходит перезагрузка и выводится:
молоко - 1
хлеб - 1
мороженое - 1
А если я меняю количество первого товара (молоко
молоко - 3
хлеб - 1
мороженое - 1
То выводится:
молоко - 3
хлеб - 3
мороженое - 3
Подскажите как это исправить, я так понимаю надо еще передавать id строки корзины, и изменить в БД именно строку с этим id.
$order_user_id - это ид пользователя.
Есть корзина товар, в которой пользователь меняет колличество заказываемого товар (автоматом количество ставится 1, пользователь только в корзине может поменять количество товара).
Вот мой скрипт корзины:
PHP:
<?php if(empty($_POST)) { ?>
<form method="post">
<?php
$res_basket = mysql_query("SELECT * FROM basket WHERE id_user='$order_user_id' ORDER BY id ASC");
$row_basket = mysql_fetch_array($res_basket);
if ($row_basket){
do{
$id_product = $row_basket['id_product'];
$res_product = mysql_query("SELECT * FROM product WHERE id='$id_product'");
$row_product = mysql_fetch_array($res_product);
if ($row_product){?>
<table><tr>
<td><?=$row_product['title']?></td>
<td><input type="text" name="item[]" value="<?=$row_basket['quantity']?>"></td>
</tr></table>
<?php }}
while ($row_basket = mysql_fetch_array($res_basket));
}?>
<input type="submit" name="submitcount" value="Пересчитать стоимость заказа" />
</form>
<?php }
else{
if(isset($_POST['item']))
{
$items = array();
foreach($_POST['item'] as $value)
{
if(ctype_digit($value)) $items[] = $value;
}
if(count($items) > 0)
{
$ids = implode(',', $items);
$query = "UPDATE basket SET quantity='$ids' WHERE id_user='$order_user_id' ";
mysql_query($query);
}
if($query)
{
echo "<META HTTP-EQUIV=\"refresh\" content=\"1;URL=/basket/\">";
}
}
}?>
Данный скрипт меняет количество заказываемых товаров во всех строка на число указанное в самом первом input,
Допустим в корзине выводится:
молоко - 1
хлеб - 1
мороженое - 1
Если мне надо заказать хлеба 3шт, я меняю 1 на 3:
молоко - 1
хлеб - 3
мороженое - 1
После чего нажимаю на кнопку пересчитать сумму, и у меня происходит перезагрузка и выводится:
молоко - 1
хлеб - 1
мороженое - 1
А если я меняю количество первого товара (молоко
молоко - 3
хлеб - 1
мороженое - 1
То выводится:
молоко - 3
хлеб - 3
мороженое - 3
Подскажите как это исправить, я так понимаю надо еще передавать id строки корзины, и изменить в БД именно строку с этим id.
$order_user_id - это ид пользователя.