Показать сообщение отдельно
  #1 (permalink)  
Старый 15.05.2015, 07:52
Аспирант
Отправить личное сообщение для arhat78 Посмотреть профиль Найти все сообщения от arhat78
 
Регистрация: 06.04.2015
Сообщений: 52

Вывод размера товара в корзине
Всем привет! В свободное от работы время изучаю PHP и тренируюсь в создании инет-магазина, и вот возник вопрос: добавляю в корзину ботинок Арт.10001 размер 20 из выпадающего списка, в корзине выводится этот ботинок с размером 20; затем добавляю в корзину этот же ботинок, но с размером 24 - а в корзине уже выводится этот последний ввод с размером 24, т.е размер 24 перезаписывает сверху размер 20. Вот как поменять код, какой применить принцип, чтобы в корзину добавлялся ботинок одного id, но с разными выбранными размерами? У размеров своя таблица в mysql, с id. Заранее благодарен.

Добавление товара в корзину:

<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>


Это вывод в корзине:

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>


И дальше коды связанные с добавлением в корзину:

case('add_to_cart'):
 $id = $_GET['id'];
 $size = $_GET['size'];
 
 $_SESSION['cart_size'][$id] = $size;
 
 $add_item = add_to_cart($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;


session_start();
 if(!isset($_SESSION['cart']))
 {
 $_SESSION['cart'] = array();
 $_SESSION['total_items'] = 0;
 $_SESSION['total_price'] = '0.00';
 }


function add_to_cart($id)
{
 if(isset($_SESSION['cart'][$id]))
 {
 $_SESSION['cart'][$id]++;
 return true;
 } 
 else
 {
 $_SESSION['cart'][$id] = 1;
 return true;
 }
 return false;
}

Последний раз редактировалось arhat78, 15.05.2015 в 14:03.
Ответить с цитированием