Всем привет! В свободное от работы время изучаю PHP и тренируюсь в создании инет-магазина, и вот возник вопрос: добавляю в корзину ботинок Арт.10001 размер 20 из выпадающего списка, в корзине выводится этот ботинок с размером 20; затем добавляю этот же ботинок, но с размером 24 - а в корзине уже выводится этот последний ввод с размером 24. Вот как поменять код, какой применить принцип, чтобы в корзину добавлялся ботинок одного id, но с разными выбранными размерами? У размеров своя таблица в mysql, с id. Заранее благодарен Добавление товара в корзину: Код (Text): <form action="index.php" method="get"> <input type="hidden" name="view" value="add_to_cart"> <input type="hidden" name="id" value="<?=$product['id']?>"> <select name="size" > <?PHP $sql="SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id' "; echo $sql.'<br>'; $a=mysql_query($sql); while ($b = mysql_fetch_array($a)) { echo "<option value='$b[2]' > $b[2] </option>"; } ?> </select> <input type="submit" value="Добавить в корзину"> </form> Это вывод в корзине: Код (Text): foreach ($_SESSION['cart'] as $id => $quantity): $product = get_product($id); $b['size'] = $_SESSION['cart_size'][$id]; if (!empty($_GET['size'])) {echo $_GET['size'];} ?> <tr> <td align="center"><?=$product['title']; ?></td> <td align="center"> <?=$b['size'];?> </td> <td align="center"> <?=number_format($product['price'],2); ?> руб</td> <td align="center"><input type="text" size="2" name="<?=$id; ?>" maxlength="2" value="<?=$quantity; ?>" /></td> <td align="center"> <?=number_format($product['price'] * $quantity ,2); ?> руб</td> </tr>
1. добавление товара в корзину не вижу. есть форма добавления, но не код добавления. 2. не тратьте время. изучайте битрикс (интернет магазин) еще какой либо по вкусу CMS и фигачьте сайты, смотрите как устроен тот же битрикс (написан школьниками для больших дядек)
arhat, вас с phpclub уже турнули за бестолковость, простите за прямоту. так вы здесь по новой всё затеваете! еще раз: чтобы не было мучений по поводу "тот же ботинок, но другого размера", сделайте им разные идентификаторы — "товарные позиции", они же SKU. что вам осталось непонятно после месяца обсуждений?
Ты грубиян! И каким же образом я прочитанное про SKU из Википедии могу применить в php-коде????? А также для этого мне нужно будет полностью менять структуру БД, переписывать половину кода. В нынешнем моём варианте пока нужно то поменять/подправить 4-6 строчек...
Дело твоё. Очевидно 4-6 строчек никак не рождаются, так что можно переосмыслить и переписать всё ))) Добавлено спустя 6 минут 39 секунд: Это размеры … ЧЕГО? Абстрактной универсальной обуви или всё-таки это размеры, применимые к конкретной модели? Если второе — считай, что SKU у тебя уже есть: Модель + Размер это товарная позиция, имеющая свой id. Структура данных это фундамент всего.
Ну значит всё хорошо! В корзину надо добавлять size.id, он будет уникально идентифицировать ботинок определенного размера.
Абсолютно согласен! Вот сейчас пытаюсь произвести некоторые действия...... Вот попробовал добавить функцию id_size: Код (Text): function id_size($id) { db_connect(); $query = ("SELECT id_boot FROM sizes "); $result = mysql_query($query); $row = mysql_fetch_array($result); return $row; } В case('add_to_cart') добавил: Код (Text): $id_size = $_GET['id_size']; и $id_size сюда: Код (Text): $add_item = add_to_cart($id, $size, $id_size); теперь получилось так: Код (Text): case('add_to_cart'): $id = $_GET['id']; $size = $_GET['size']; $id_size = $_GET['id_size']; $_SESSION['cart_size'][$id] = $size; $add_item = add_to_cart($id, $size, $id_size); $_SESSION['total_items'] = total_items($_SESSION['cart']); $_SESSION['total_price'] = total_price($_SESSION['cart']); header('Location:index.php?view=product&id='.$id); break; Теперь пытаюсь как то всё это в выводе в корзине внедрить, но пока не получается......
Делаю выборку по id_boot из таблицы sizes. Теперь нужно это как то идентифицировать и связать с id товара в корзине, я так примерно представляю....
эта функция может вернуть только одну строку с одной колонкой. причем результат не зависит от параметра $id. arhat78, ты не сможешь написать магазин без таких базовых знаний. для меня тема закрыта.
Счастливчик! Для меня тема ещё как актуальна! Учиться, учиться и ещё раз учиться! Без ваших подсказок и разъяснений очень тяжело будет, но что делать - человек человеку волк