Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2014, 20:11   #11
arhat78
Пользователь
 
Регистрация: 11.06.2014
Сообщений: 12
По умолчанию

У меня есть таблица "sizes", где размеры привязываются к id ботинка. id_boot - это id ботинока, и size - это существующие размеры этого ботинка


id id_boot size
1 1 20
2 1 21
3 1 22
4 2 20
5 2 21
6 2 22
и так далее

В выпадающем списке получилось выводить размеры именно заданного ботинка. А вот как в корзине реализовать так, чтобы записывались разные размеры одного и того же id ботинка - пока не догнал.....

Последний раз редактировалось arhat78; 22.07.2014 в 20:33.
arhat78 вне форума Ответить с цитированием
Старый 22.07.2014, 20:34   #12
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

догоняй...
смотри как добавляешь сейчас и думай
... телепатов нет
ADSoft вне форума Ответить с цитированием
Старый 22.07.2014, 21:00   #13
arhat78
Пользователь
 
Регистрация: 11.06.2014
Сообщений: 12
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
догоняй...
смотри как добавляешь сейчас и думай
так думаю, пробую, но пока никак.... как то же нужно, чтобы различались в корзине разные размеры одного id ???????
arhat78 вне форума Ответить с цитированием
Старый 22.07.2014, 21:27   #14
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

В сессии (а потом и в БД) вместе с ID заказаного товара храни размер, или ID этого размера – в чём проблема-то?
Andkorol вне форума Ответить с цитированием
Старый 22.07.2014, 21:33   #15
arhat78
Пользователь
 
Регистрация: 11.06.2014
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
В сессии (а потом и в БД) вместе с ID заказаного товара храни размер, или ID этого размера – в чём проблема-то?
здесь задаю размер:
PHP код:
$b['size'] = $_SESSION['cart_size'][$id]; 
а здесь вывожу:
PHP код:
<?=$b['size'];?>
PHP код:
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>
arhat78 вне форума Ответить с цитированием
Старый 22.07.2014, 21:37   #16
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Молодец.
А проблема-то в чем? Все данные у тебя в сессии есть.
Andkorol вне форума Ответить с цитированием
Старый 22.07.2014, 21:41   #17
arhat78
Пользователь
 
Регистрация: 11.06.2014
Сообщений: 12
По умолчанию

Этот код
PHP код:
<?=$b['size'];?>
выводит только последний выбранный размер. если сначала выбрать размер "20", а затем выбрать этот же ботинок с "22м" размером, то в корзине будет записан только ботинок только с одним последним размером. 22й размер перезапишет 20й............ а нужно, чтобы в корзине оказался этот один выбранный ботинок и с 20м и с 22м размерами.
arhat78 вне форума Ответить с цитированием
Старый 22.07.2014, 21:49   #18
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Значит, при сохранении в сессию логика неправильная.
Должно быть так:
Если в корзине уже есть товар с таким размером – увеличиваем его количество.
Если такого товара с таким размером в корзине нет – добавляем его в корзину.
Товары в сессии можно хранить в таком формате:
PHP код:
$_SESSSION['cart'] = array(
    
'id1' => array(
        
'size' => 'Size 1',
        
'quantity' => 3,
    ),
    
'id2' => array(
        
'size' => 'Size 2',
        
'quantity' => 7,
    ),
    
// ...
    
'idN' => array(
        
'size' => 'Size N',
        
'quantity' => 56,
    ),
); 
Andkorol вне форума Ответить с цитированием
Старый 22.07.2014, 21:53   #19
arhat78
Пользователь
 
Регистрация: 11.06.2014
Сообщений: 12
По умолчанию

Да, теоретически всё верно, такая идея была, а вот на практике с кодом никак не выходит array тяжело пока поддаётся...
arhat78 вне форума Ответить с цитированием
Старый 22.07.2014, 21:58   #20
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Ну, вместо тебя работать с массивами в твоём коде никто не будет – так что дерзай.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Woocommerce + Qtranslate (некорретный перевод в корзине) maksimum WordPress и другие CMS 1 21.05.2014 23:24
Вывод товара со скидкой и без скидки ARB Помощь студентам 0 03.03.2014 18:28
Вывод ошибки при недостаче товара pr1nc1k БД в Delphi 0 04.06.2013 22:25
Найти ошибку в корзине PavelACM PHP 1 31.08.2012 19:11
Работа с циклами, Не обнавляется кол-во товара в корзине bboyb-rock PHP 4 08.04.2011 19:14