![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| americanets |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1100 Регистрация: 27.9.2006 Репутация: 5 Всего: 12 |
Вот код, не знаю что и делать, совсем замучился, как заставить корзину считать при выключеном register_global?
-------------------- Пусть популярную музыку слушают те, среди кого она популярна |
|||
|
||||
| mishaSL |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
1. $gids - если это массив который храниться в сессии, то к нему надо обращаться как $_SESSION['gids']
2. Что ты этим хочешь сделать:
коменты я прочитал, объясни подробнее 3. $_GET[update] , $_GET[remove] и т.д. - должно быть $_GET['update'] ,$_GET['remove'] и т.д. 4.
откуда передается $remove? В логику пока не вникал, поправь сначало это -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
||||
|
|||||
| americanets |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1100 Регистрация: 27.9.2006 Репутация: 5 Всего: 12 |
Код взял в старом Shop Script менял но не помогло, вот весь код
-------------------- Пусть популярную музыку слушают те, среди кого она популярна |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 19 Всего: 54 |
И что вы мне предлагаете с ним сделать. Переписать? Если до этого работало, значит не все поменяли или поменяли не правильно. Я вам и объясняю, что еще нужно поменять -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
$gids переделайте в $_SESSION['gids']
Это сообщение отредактировал(а) GZep - 26.3.2007, 20:25 -------------------- ![]() ![]() |
|||
|
||||
| americanets |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1100 Регистрация: 27.9.2006 Репутация: 5 Всего: 12 |
переделал все, стало еще хуже теперь новые товары не добавляются, добавляются заменяя старый и оставляя количество
-------------------- Пусть популярную музыку слушают те, среди кого она популярна |
|||
|
||||
| -=Ustas=- |
|
||||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
americanets, что у тебя за проблемы?!
элементарный пример:
добавляем как cart.php?add=22, удаляем - cart.php?remove=22, где 22 - это ID товара. Посмотри как это работает, список и вывод списка сам уже допишешь. Добавлено через 1 минуту и 53 секунды Имеем такую структуру в сессии
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
||||
|
|||||
| americanets |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1100 Регистрация: 27.9.2006 Репутация: 5 Всего: 12 |
Сделал так, работоспособность увеличелась, те почти работает, но выводит не все цены и количество пишет 0, если добавляю одну позицию может прибавить к другой
-------------------- Пусть популярную музыку слушают те, среди кого она популярна |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Имхо, в примере -=Ustasа=- $_SESSION['gids'] вообще не нужен, т.к. всегда может быть получен как array_keys($_SESSION['counts']). А последний удобнее перебирать циклом foreach. Ну и для проверки вхождения элемента в массив лучше, разумеется, использовать ф-цию in_array, нежели сравнение с каждым элементом в цикле...
Даже in_array не нужна, достаточно проверить существование элемента по ключу...
Это сообщение отредактировал(а) SelenIT - 27.3.2007, 12:40 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| americanets |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1100 Регистрация: 27.9.2006 Репутация: 5 Всего: 12 |
SelenIT, ничего не понимаю :( можно по подробнее раскыть суть сказанного в примерах
Добавлено через 1 минуту и 17 секунд очень нужна эта корзинка -------------------- Пусть популярную музыку слушают те, среди кого она популярна |
|||
|
||||
| SelenIT |
|
||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
americanets, суть проста - для хранения инфы о товарах в корзине достаточно одного ассоциативного массива: id_товара => количество. Все остальное (цену, название и т.п.) берем из базы по id.
Поэтому для добавления товара с данным id достаточно проверить, есть ли уже в массиве элемент с ключом, равным этому id, если есть - увеличить его количество, если нет - добавить элемент в массив с ключом id и значением 1 (в принципе как было, только вместо двух массивов - один, никакого лишнего дублирования). А вот примерно так пойдет вывод товаров из базы:
Upd.: сорри, сначала не заметил и не исправил один остаток списанного в утиль $_SESSION['gids']. Теперь по идее верно. Upd.2: вот по идее весь код переделанный ;)
Это сообщение отредактировал(а) SelenIT - 27.3.2007, 14:00 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
| americanets |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1100 Регистрация: 27.9.2006 Репутация: 5 Всего: 12 |
сделал, пишет
-------------------- Пусть популярную музыку слушают те, среди кого она популярна |
||||
|
|||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
americanets, гляньте последний вариант в моем прошлом отредактированном посте.
не хотелось уходить с 777 на счетчике... но так и быть, ради Вас... ;) -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Да, ты прав, об оптимизации я не думал в этом примере. Просто писал с утра на вскидку, опаздывая на работу и запивая кофем бутер -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| americanets |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1100 Регистрация: 27.9.2006 Репутация: 5 Всего: 12 |
SelenIT,
Да все работает спасибо, сейчас пытаюсь сдлать чтоб можно было пресчитать количество в корзине, но правда безуспешно, что то совсем не понятно в этих массивах и сессиях :(
-------------------- Пусть популярную музыку слушают те, среди кого она популярна |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |