Интернет магазин. Хранение корзины товаров.

Статус
В этой теме нельзя размещать новые ответы.

keltanas

marty cats
arhat78, покажи свой код, который обрабатывает данные, отправленные из формы
PHP:
<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>
 

arhat78

Новичок
arhat78, покажи свой код, который обрабатывает данные, отправленные из формы
keltanas, сейчас гляну...

Вот:

PHP:
case('add_to_cart'):
      $id = $_GET['id'];
      $size = $_GET['size'];
      $_SESSION['cart_size'][$id] = $size;
      $add_item = add_to_cart($id);
      $_SESSION['total_items'] = total_items($_SESSION['cart']);
      $_SESSION['total_price'] = total_price($_SESSION['cart']);
      header('Location:index.php?view=product&id='.$id);
      break;

case ('product'):
  $id = $_GET['id'];
  $product = get_product($id);  
  break;
  
  case ('size'):
  $id = $_GET['id_boot'];
  $size = get_sizes($id);  
  break;
А так же:
PHP:
function add_to_cart($id)
{
    if(isset($_SESSION['cart'][$id]))
    {
        $_SESSION['cart'][$id]++;
        return true;
    }  
  
    else
    {
        $_SESSION['cart'][$id] = 1;
        return true;
    }
        return false;
  
}


function get_product($id)
  {
  db_connect();
  $query = ("SELECT * FROM products  WHERE id='$id'  ");
  
  $result = mysql_query($query);
  if ($result)
  {
  $row = mysql_fetch_array($result);
  
  return $row;
  }
  }
  
  
  
  
  function get_sizes($id)
  {
  db_connect();
  
  $query = ("SELECT * FROM sizes WHERE `sizes`.`id_boot`='$id'  ");
  
  $result = mysql_query($query);
  
  $row = mysql_fetch_array($result);
  
  return $row;
  }
 

keltanas

marty cats
А теперь взгляни сюда. В чем разница?
Если строку
PHP:
<? $add_item = add_to_cart($id);
заменить на
PHP:
<? $add_item = add_to_cart(sprintf('id%ds%d', $id, $size));
что-нибудь изменится?
 
  • Like
Реакции: AmdY

arhat78

Новичок
keltanas, попробовал в корзине ещё такую проверку сделать:


PHP:
if ($product === get_product($id)); else echo $_GET('id');
        if
       
        ($b['size'] === $_SESSION['cart_size'][$id]);

        else echo $_GET['size'];
ошибок нет, но ничего не поменялось.......
 

keltanas

marty cats
Почему не
PHP:
if ($product !== get_product($id)) {
    echo $_GET('id');
}
if ($b['size'] !== $_SESSION['cart_size'][$id]) {
    echo $_GET['size'];
}
гораздо же нагляднее?

А вообще обычно
PHP:
<?php
var_dump($_GET);
используют
 

arhat78

Новичок
Ругается на это в корзине (Notice: Undefined index: id2s22 in C:\wamp\www\MyShop\views\pages\cart.php on line 23):
PHP:
$b['size'] !== $_SESSION['cart_size'][$id]
Теперь заносится в две строчки, как разный товар (в принципе получается,что подход правильный), но кроме количества вообще ничего не выводит.... Только четыре Notice...
 

С.

Продвинутый новичок
Перечитайте топик с начала...
Чего толку ему перечитывать этот топик? Там специалисты спорят о нюансах товарного учета на складах и в магазинах, а у чувака проблемы уровня "Notice: Undefined index".
 

arhat78

Новичок
Чего толку ему перечитывать этот топик? Там специалисты спорят о нюансах товарного учета на складах и в магазинах, а у чувака проблемы уровня "Notice: Undefined index".
С., чувачела, взял бы, вместо того, чтобы умничать - доступно рассказал, как в корзине принять данные этого составного ключа.
 

hell0w0rd

Продвинутый новичок
arhat78, чувачела, тебе тут никто ничем не обязан. Что за тон-то такой?
Уже 25 раз объяснили как это сделать. Покажи как сам понял, а тебя поправят, если что.
 

arhat78

Новичок
arhat78, чувачела, тебе тут никто ничем не обязан. Что за тон-то такой?
Уже 25 раз объяснили как это сделать. Покажи как сам понял, а тебя поправят, если что.
hell0w0rd, "чувак", здрасте приехали - это где же мой тон то не понравился????!!!! с "девушками" никого не сравниваю, умственными данными никого не упрекаю. единственно что прошу (покажи мне, где я хотя бы намекаю на вашу "обязанность"???), это подсказать.Если для тебя эти "25" объяснений для тебя прозрачны ввиду того, чтобы ты этой теме как рыба в воде, то для меня это только намёки. Пытаюсь пользоваться литературой в направлении этих намёков, но там ничего практичного не вижу. Что за манера такая, чуть что - сразу попытка принизить у некоторых "абонентов"?????

Прошу прощения за оффтопик.
 

Вурдалак

Продвинутый новичок
Пытаюсь пользоваться литературой в направлении этих намёков, но там ничего практичного не вижу.
Да ниче ты не пытаешься, чувачок, иди это бабушкам рассказывай. Ты ковыряешься в носу и ждёшь пока знания тебе в голову сами залетят. Типа есть такая «практичная» литература, которая позволит, сидя на диване с булочкой и чайком, стать программистом, ога.
 

arhat78

Новичок
Да ниче ты не пытаешься, чувачок, иди это бабушкам рассказывай. Ты ковыряешься в носу и ждёшь пока знания тебе в голову сами залетят. Типа есть такая «практичная» литература, которая позволит, сидя на диване с булочкой и чайком, стать программистом, ога.
От души благодарю за очередную помощь и дельную подсказку ;)
 

С.

Продвинутый новичок
arhat78, тебе подсказали суть решения (хотя он и так была очевидна). Мало ИД товара, надо к нему добавлять размер, цвет и еще что там у тебя может оказаться. А это значит, что надо сделать архитектурные поправки в коде и далеко не в одном месте. Как это сделать конкретно тебе никто не скажет. Во-первых потому, что никто не знает, что там у тебя за система, а во-вторых, это работа и никто ее за тебя делать не будет.

Могу порекомендовать взять готовую систему, где все это уже имеется. Если очень хочется самому, то вперед осваивать азы РНР.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху