Форум программистов, компьютерный форум, киберфорум
Наши страницы

jQuery

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
#1

Корзина на php ajax mysql - jQuery

09.11.2013, 03:54. Просмотров 2995. Ответов 17
Метки нет (Все метки)

Здравствуйте! Пишу корзину для интернет-магазина, нашла пример в сети, как это можно сделать, и разбираю его. Но столкнулась с проблемой: при нажатии на кнопку "В корзину" не происходит, собственно, добавления товара в корзину, видимо не срабатывает onlcick, а может и нет. Подскажите, что не так!! Заранее спасибо!!
0
Вложения
Тип файла: rar alc.rar (7.1 Кб, 65 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 03:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Корзина на php ajax mysql (jQuery):

PHP+jQuery+AJAX+JSON+MySQL - jQuery
Здравствуйте!!! Помогите пожалуйста! Начала изучать ajax, понадобилось мне это в связи с написанием диплома. Мне необходимо прикрепить...

Связка php+mysql+ajax: Uncaught TypeError: undefined is not a function - jQuery
Здравствуйте! Вот уже более 6 часов не могу найти причину неработоспособности своего кода (новичок в этом деле). Есть select в...

Не так работает прсотая ajax корзина на сайте - jQuery
Привет, ребят. Помогите пожалуйста разобраться с кодом. Есть у меня на сайте ajax корзинка. Ничего сложно просто фоновая картинка и...

php MySQL ajax корзина - JavaScript
Буду благодарен за помощь. Необходимо создать упрощенную корзину покупок. Далее показано то что есть на даннный момент. Есть база,...

Checkbox+AJAX+MYSQL+PHP - JavaScript
Здравствуйте. ПОмогите пожалуйста. У меня есть БД с каналами и ценами. Мне необходимо чтобы при нажатии на чекбоксе считалась сумма в диве....

как отправить строку из таблицы (php, сформированной из mysql) в контейнер ajax при нажатии на строку 2ым клик - JavaScript
Доброго времени суток) уважаемые программисты столкнулся со сложной задачей, даже не знаю в той ли теме формирую вопрос. Суть задачи такая:...

17
Vlad_IT
1440 / 346 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
09.11.2013, 04:59 #2
Цитата Сообщение от Ksuha000 Посмотреть сообщение
не происходит, собственно, добавления товара в корзину, видимо не срабатывает onlcick, а может и нет.
Через Ajax отправлялся запрос за адрес
/cart/prod5/qty1/ - где 5 - id товара
И соответственно получался ответ с ошибокй 404 (не найдено).
У вас не настроена работа чпу ссылок. Поэтому нужно обращаться к скрипту корзины
/cart.php?id=5

Вот уже переделанная функция. Строка 20

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function shopping(id){
    c_num = $(cartnum);
    c_total = $(carttotal);
    descr = $('#descr_'+id);
    //в корзину всегда помещаем 1 товар, изменение кол-ва происходит в корзине
    $.get('cart.php?id='+id,function(data) {  
        arr = data.split('|');
        id = arr[0];        //id продукта
        cart = arr[1];      //в корзине сейчас
        action = arr[2];    //экшен
        total2 = arr[3];    //сумма
 
        act = icon+(action =='add' ? "В корзину" : "Удалить");
        c_num.html(cart);
        c_total.html(number_format(total2,','));
        descr.html(act);
    }); 
}
Теперь товар добавляется в корзину. Но узнать это можно только если зайти на страницу корзины. А также количество и общая сумма товаров, не отображается в пункте "В корзине 0шт. (0 руб)". Попробуйте разобраться в этом. Если не получится, пишите сюда что получилось придумать(или написать) или просто пишите, попробуем разобраться
1
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
09.11.2013, 11:18  [ТС] #3
Спасибо! Теперь буду разбираться дальше))
0
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
11.11.2013, 00:03  [ТС] #4
Не могу настроить эту корзину! Товар в корзину добавляет, но его нельзя удалить или добавить больше, да и видно то, что он добавлен только зайдя на соответствующую страницу! Может у меня опять проблема со ссылками? Пыталась переделать функцию checkout, но ничего не получилось(
0
Vlad_IT
1440 / 346 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
11.11.2013, 07:03 #5
Ksuha000, Я заметил, что когда передается запрос на добавление товара в корзину, то не отправляется количество товаров, и выходит что их 0. Давайте так.
1. В клиентском скрипте (shopping.js) переделайте функцию shopping, следующим образом
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function shopping(id){
    c_num = $(cartnum);
    c_total = $(carttotal);
    descr = $('#descr_'+id);
    //в корзину всегда помещаем 1 товар, изменение кол-ва происходит в корзине
    $.get('cart.php?q=1&id='+id,function(data) {   // q - это количество товаров. Судя по комментарию выше, нужно передать 1 товар
        arr = data.split('|');
        id = arr[0];        //id продукта
        cart = arr[1];      //в корзине сейчас
        action = arr[2];    //экшен
        total2 = arr[3];    //сумма
 
        act = icon+(action =='add' ? "В корзину" : "Удалить");
        c_num.html(cart);
        c_total.html(number_format(total2,','));
        descr.html(act);
    }); 
}
2. Еще я заметил что при добавлении товара, нам возвращаются неверные данные, а именно количество товаров в корзине. В файле index.php Вы определяете количество товаров в корзине вот так
PHP
1
<span id="cart_num"><?=(is_array($_SESSION["cart"]) ? count($_SESSION["cart"]) : 0)?></span>
Но почему-то в файле cart.php вот так
PHP
1
$num = get_row_count($catalogdbname, "WHERE id = ".sqlesc($id)); // 20 строка
Переменная $catalogdbname = "tovar", такой таблицы Вы мне не присылали, только goods. Так что определять количество товаров в корзине, будем тем же методом, что и в файле index.php. Для этого, в файле cart.php примерно на 20 строке, совсем удалите этот фрагмент
PHP
1
$num = get_row_count($catalogdbname, "WHERE id = ".sqlesc($id));
Потом в этом же файле, найдите два одинаковых фрагмента и удалите их
PHP
1
$num = array_sum($_SESSION["cart"]);
Это в условном блоке, нам не нужно лишнее определение количества товаров в корзине. Взамен просто перед вот этой строкой
PHP
1
die($id."|".$num."|".$action."|".$_SESSION["cart_total"]);
Напишите вот это
PHP
1
$num = (is_array($_SESSION["cart"]) ? count($_SESSION["cart"]) : 0);
Теперь вроде все работает. Но есть одно но, подсчет общей цены не работает. Это я Вам оставлю на десерт Если не справитесь, пишите, помогу
1
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
22.11.2013, 01:07  [ТС] #6
Здравствуйте! у меня так и не получилось сделать общий подсчет суммы, если покупать несколько товаров! Причем при переходе в саму корзину подсчет ведется верно, но в окошке корзины происходят непонятные вычисления! Как с этим бороться?

Добавлено через 4 минуты
Ой-ой! Скажите, если в файле indexc.php строку 134 переделать таким образом:
...<span id="cart_num"><?=(is_array($_SESSION["cart"]) ? count($_SESSION["cart"]) : 0)?></span> ...
то вроде все получается, не так ли? Или я выдаю желанное за действительное?
0
Vlad_IT
1440 / 346 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
22.11.2013, 02:36 #7
Цитата Сообщение от Ksuha000 Посмотреть сообщение
Ой-ой! Скажите, если в файле indexc.php строку 134 переделать таким образом:
...<span id="cart_num"><?=(is_array($_SESSION["cart"]) ? count($_SESSION["cart"]) : 0)?></span> ...
то вроде все получается, не так ли? Или я выдаю желанное за действительное?
Так в $_SESSION["cart"] хранятся товары. Посмотри в файле index.php после строки 48, как у тебя устроен подсчет суммарной цены, в переменную $allp. И используй такой алгоритм.
0
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
22.11.2013, 19:24  [ТС] #8
А, я поняла, спасибо! Просто вывести еще раз эту переменную) Спасибо большое! А можно настроить этот скрипт, чтобы через radio пользователь мог выбрать цену товара: цену оригинала либо цену копии?
0
Vlad_IT
1440 / 346 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
22.11.2013, 21:29 #9
Цитата Сообщение от Ksuha000 Посмотреть сообщение
А можно настроить этот скрипт, чтобы через radio пользователь мог выбрать цену товара: цену оригинала либо цену копии?
Конечно Только я Вам это писать сам не буду. Вы попробуйте сначала сами, что не получится, пишите, я помогу разобраться
0
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
02.12.2013, 02:28  [ТС] #10
И снова здравствуйте! Хочу в эту корзину добавить возможность выбора размера товара, сделала специальную таблицу в бд, в которой колонки - это наименование товара и возможные размеры обуви. в строках указывается имя товара и наличие обуви соответствующего размера (если есть такой на складе, пишется слово yes), вывела все в зависимости от наличия размеров на страницу через radio. и теперь как-то нужно запомнить значение, которое было выбрано пользователем. Видимо, это нужно делать через javascript, по-крайней мере мне так кажется. Только как? Подскажите, пожалуйста!
0
Вложения
Тип файла: rar nn.rar (6.0 Кб, 32 просмотров)
Vlad_IT
1440 / 346 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
02.12.2013, 03:51 #11
Написал Вам в ЛС.
0
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
02.12.2013, 10:12  [ТС] #12
Здравствуйте! Вот что у меня получилось.))
0
Вложения
Тип файла: rar size.rar (663 байт, 30 просмотров)
Vlad_IT
1440 / 346 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
02.12.2013, 15:03 #13
Ksuha000, у меня все равно не работает. Заметил что в коде используется таблица "tovar", у меня такой нет, только goods и size. Скиньте мне ее пожалуйста.
0
Ksuha000
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 32
02.12.2013, 18:37  [ТС] #14
Вся база данных
0
Вложения
Тип файла: rar jakson.rar (1.7 Кб, 25 просмотров)
Vlad_IT
1440 / 346 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
04.12.2013, 17:52 #15
Скрипт у меня опят не работает, списка товаров нету, а разбираться пока к сожалению времени нет. Просто отправляете это значение на файл car.php при нажатии на кнопку купить, и сохраняйте в сессии например.
0
04.12.2013, 17:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2013, 17:52
Привет! Вот еще темы с ответами:

Вытащить переменную из цикла PHP в функцию JS, и через AJAX обратно в PHP - JavaScript
Здравствуйте! Моя задача сделать форму обратной связи, но не самую простую. Изначально на форме отображается список элементов, уже...

Отправить массив из php(handler, сервер) в php(ajax, клиент) - JavaScript
Дело вот какое: имеется база сотрудников. Клиенту в браузер выдаю список (select). При выборе пункта срабатывает событие отправки id...

Ajax запросы в БД mysql - jQuery
Уважаемые форумчане, прошу помощи, т.к. сам не разбираюсь особо, да и оно мне как-то не очень пока что. Вообщем есть мелкий локальный...

Запрос Ajax к базе mysql - jQuery
Доброго времени суток. Немогу пока что разобраться. Суть следующая- Есть основная страница, на ней есть кнопка. При нажатии на эту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.