fessnik
Новичок
У меня есть две таблицы:
createTable($link,'catalog','id int(8) NOT NULL AUTO_INCREMENT,author Varchar(32),title Varchar(64),pubyear int (4),
price int (8),PRIMARY KEY(id)');
createTable($link,'basket','id int(11) NOT NULL auto_increment, customer varchar(32),goodsid int(11),quantity int(4),datetime VARCHAR(24) NOT NULL default 0,PRIMARY KEY (id)');
В таблице catalog храниться имеющийся товар(книги),а в таблице basket товар который конкретный пользователь добавил себе в карзину.
Пользователь добавляет книги по одной в корзину.Когда переходит в корзину отображаеться все что он добавил,если какието книги он добавил несколько раз то пишеться их количество.Напротив каждой книги есть ссылка удалить,которая удаляет конкретную книгу из заказа.
Теперь вопрос- как сделать,что бы если количество книг больше одной,то предлагалось указать сколько именно книг нужно удалить,и удалялось указанное количество??Я прикрепил картинку ,что б понятней было,на ней есть книги за авторством Fess в количестве 3 штуки,нужно сделать,чтобы когда я нажал удалить ,предложило ввести количество которую нужно удалить,я ввел 2 ,меня перенаправило опять на корзину(basket.php),но там в строке количество уже было 1
Ниже мой код
basket.php
При нажатии на удалить переходит на delBasket:
createTable($link,'catalog','id int(8) NOT NULL AUTO_INCREMENT,author Varchar(32),title Varchar(64),pubyear int (4),
price int (8),PRIMARY KEY(id)');
createTable($link,'basket','id int(11) NOT NULL auto_increment, customer varchar(32),goodsid int(11),quantity int(4),datetime VARCHAR(24) NOT NULL default 0,PRIMARY KEY (id)');
В таблице catalog храниться имеющийся товар(книги),а в таблице basket товар который конкретный пользователь добавил себе в карзину.
Пользователь добавляет книги по одной в корзину.Когда переходит в корзину отображаеться все что он добавил,если какието книги он добавил несколько раз то пишеться их количество.Напротив каждой книги есть ссылка удалить,которая удаляет конкретную книгу из заказа.
Теперь вопрос- как сделать,что бы если количество книг больше одной,то предлагалось указать сколько именно книг нужно удалить,и удалялось указанное количество??Я прикрепил картинку ,что б понятней было,на ней есть книги за авторством Fess в количестве 3 штуки,нужно сделать,чтобы когда я нажал удалить ,предложило ввести количество которую нужно удалить,я ввел 2 ,меня перенаправило опять на корзину(basket.php),но там в строке количество уже было 1
Ниже мой код

basket.php
PHP:
<?php
$customer=$_SESSION['login'];
?>
<table border="1" cellpadding="5" cellspacing="0" width="100%">
<tr>
<th>N п/п</th>
<th>Автор</th>
<th>Название</th>
<th>Год издания</th>
<th>Цена, руб.</th>
<th>Количество</th>
<th>Удалить</th>
</tr>
<?php
$number=0;
//Запрос выбирает заказ пользователя и если есть одинаковые товары,то считает их количество
$result=mysqli_query($link,"SELECT author, title, pubyear, price, basket.id, goodsid,COUNT( goodsid ) AS quantity
FROM catalog, basket
WHERE customer = '$customer'
AND catalog.id = basket.goodsid
GROUP BY author, title");
//Выводит этот запрос на страницу
while($item=mysqli_fetch_assoc($result)){
//номер по порядку
$number++;
?>
<tr>
<td><?=$number?></td>
<td><?=$item['author']?></td>
<td><?=$item['title']?></td>
<td><?=$item['pubyear']?></td>
<td><?=$item['price']?></td>
<td><?=$item['quantity']?></td>
//переход на delBasket.php
<td><a href="delBasket.php?del=<?=$item['goodsid']?>">Удалить</a></td>
</tr>
<?php
}
echo "</table>";
?>
PHP:
<?php
//id удаляемого заказа
$del=$_GET['del']*1;
$customer=$_SESSION['login'];
$result=mysqli_query($link,"SELECT author, title, pubyear, price, basket.id, goodsid,COUNT( goodsid ) AS quantity
FROM catalog, basket
WHERE customer = '$customer'
AND catalog.id = basket.goodsid
AND goodsid=$del
GROUP BY author, title");
$res=mysqli_fetch_assoc($result);
//если количество больше одного,указать какое количество удалить
if($res['quantity']>1){
echo "<form method='post' action='basket.php'>
<input type='number' name='quant'>
<input type='submit' value='ok' name='send'>
</form>";
}
//удаляем весь заказ
else{
queryMysql($link,"Delete FROM basket WHERE goodsid=$del");
}
?>