2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
||||||
1 | ||||||
Как обновить количество товара в корзине07.04.2022, 20:03. Показов 629. Ответов 16
Всем привет! Застрял на обновлении кол-ва товара в корзине: в корзине есть 1шт товара, покупатель меняет на 2 шт, и нужно, чтобы price умножился на "2" при нажатии кнопки "обновить". Пытаюсь, но пока не могу понять принципа, чтобы при вводе "2" и обновлении в строке выполнялось условие Всего $item['price']*$item['quantity'] . Заранее благодарен.
0
|
07.04.2022, 20:03 | |
Ответы с готовыми решениями:
16
Как изменить количество товара в корзине? Как вычислить сумму товара в корзине Настроить минимальное количество товара в корзине Количество товара в корзине: число в главном меню Как сделать подсчет товара в корзине js? |
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
|
||||||
07.04.2022, 23:53 | 2 | |||||
Обращаетесь к форме с методом передачи $_POST а сама форма где? И дальше, простая математика.
1
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
08.04.2022, 00:21 [ТС] | 3 |
Да,благодарю за ответ. Я уже так пробовал, но с этим кодом получается обработать только эту одну строчку. Если будет выбрано 2 или 3 товара, то нужно будет нажимать для пересчёта на каждой строчке.
А как можно обработать несколько строчек с изменённым кол-вом одним нажатием кнопки "Обновить" уже ниже таблицы выбранных товаров? Добавлено через 13 минут И здесь цикл получается - если два товара, то выше таблицы две кнопки "Обновить" (на каждый id), первый раз нажимаешь, выводит вне таблицы (думаю из-за form) цену за 1шт, ещё раз нажимешь, уже результат произведения, и при этом количество снова сбрасывается на 1шт, а для оформления заказа количество должно оставаться в $item['quantity'], чтобы в БД занеслось правильное количество.....
0
|
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
|
||||||
08.04.2022, 00:27 | 4 | |||||
Если честно, то не очень понял) Обновить можно нажать и один раз для множества подобных форм, указав при этом что ожидаем именно клика по кнопке
php постраничный язык, при обновлении все переменные встают в значения по умолчанию. На сколько мне известно, для хранения выбранных товаров и характеристик вам нужно использовать сессии, необязательно базу. А уже при оформлении проверять все данные и записывать в базу.
0
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
08.04.2022, 00:32 [ТС] | 5 |
Вот смотрите, в вашем коде echo $quantity выводит вышеприведённую формулу для нашего поля с количеством <input name="qyantity">, но value здесь $item['quantity'] со значением 1, которое здеси и остаётся и переносится уже дальше на страницу заказа.
echo $quantity выводится вне таблицы, существует отдельно... скрин, может прикрепить?
0
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
08.04.2022, 00:37 [ТС] | 6 |
Может быть попробовать повесить функцию на <button>Update</buttton>.........
0
|
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
|
|
08.04.2022, 00:43 | 7 |
Реализация конечно вообще странная. Это же информирования чисто для пользователя? Так сделайте простую функцию на js, которая бы при изменении количества автоматом без всяких кнопок обновляла бы цену и всё.
0
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
08.04.2022, 00:49 [ТС] | 8 |
Учусь, как могу Пока так, чтобы логику и алгоритмы понять.
Как я понимаю - нужно в $item['quantity'] занести новое значение количества, чтобы в корзине произошёл подсчёт общей суммы, и чтобы кол-во и сумма уши дальше в Заказ. А без js никак? Я как загляну на код js, сразу "в ужасе" закрываю, там вообще пока тёмный лес Может что-то посоветуете и с js, и без?.....
0
|
26 / 21 / 7
Регистрация: 23.03.2022
Сообщений: 87
|
|
08.04.2022, 01:00 | 9 |
Сделай нормальное API с авторизацией. Ну максимум по минимуму - сессии. А дальше уже через fetch запрашивай у API данные, принимая content-type : application/json и через JS создавай-обновляй блоки.
Можно сделать всё это без перезагрузок страницы.
1
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
08.04.2022, 09:55 [ТС] | 10 |
Хм.... а "по русски" можете объяснить? Я в js не окунался, только php перебираю по тихоньку...
0
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
||||||
10.04.2022, 14:42 [ТС] | 11 | |||||
Попробовал через $_POST, чтобы сохранялось кол-во при обновлении страниц - введённое количество сохраняется в поле при перезагрузке страницы, но - если есть к корзине 2 товара, то реагирует на "Обновить" только при вводе во вторую строчку (при вводе кол-ва в первую срочку все сбрасываются на "1"), и при этом это же "количество" приписывается и первой строчке. Как осуществить, чтобы обновлялась только та строчка, где было изменено кол-во товара, можете подсказать?
И при нажатии на "Оформить заказ" в новую страницу не переносится ни новое количество, ни суммы.....Каким образом перенести???
0
|
Доброжелательный пушистик
92 / 55 / 35
Регистрация: 07.06.2012
Сообщений: 307
|
|
10.04.2022, 14:55 | 12 |
У вас сейчас по коду ожидает поле quantity, которых кстати говоря выходит несколько на странице судя по всему, отсюда и проблемы, система не понимает конкретно какой quantity вы хотите. Я так вижу
0
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
10.04.2022, 16:08 [ТС] | 13 |
0
|
26 / 21 / 7
Регистрация: 23.03.2022
Сообщений: 87
|
|
10.04.2022, 16:40 | 14 |
У вас есть цикл foreach в контексте которого вы разворачиваете некий HTML код. И присваиваете одну переменную quantity из массива _POST всем элементам foreach
0
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
10.04.2022, 16:41 [ТС] | 15 |
0
|
26 / 21 / 7
Регистрация: 23.03.2022
Сообщений: 87
|
|
10.04.2022, 16:47 | 16 |
В данном случае, вам вообще вывод не нужно трогать, и не нужно в нём ничего увеличивать за счёт внешних переменных хранящихся в GET \ POST.
Нужно вносить изменения в базу хранения. А вот принт базы хранения оставить так, как она была. Добавлено через 5 минут Что бы ещё понятнее сказать. Вот вы отдаёте массив [[id=2, name, count=5], [id=3, name, count=2]] на страницу корзины. В HTML странице у вас выведено 5. Вы в HTML странице делаете изменения 5 на 10 к примеру. И посылаете fetch на API что был сделать update(id, count). Даже ответ не нужно выводить обратно на страницу.
0
|
2 / 2 / 0
Регистрация: 23.03.2014
Сообщений: 118
|
|
10.04.2022, 18:36 [ТС] | 17 |
У меня корзина хранится в куках, а не в БД, чтобы через UPDATE работать. Это уже готовый заказ передаётся в БД, а в заказ соответственно тоже не передаётся корзина с изменённым количеством, только первоначальная, с кол-вом "1".
0
|
10.04.2022, 18:36 | |
10.04.2022, 18:36 | |
Помогаю со студенческими работами здесь
17
Как узнать ID раздела товара, находящегося в корзине? Количества товара в корзине отображается после обновления страницы как исправить? Как сделать, чтобы количество товара в расходе не превышало количество товара в остатках? Опишите классу товара. Поля класса: имя товара, цена товара, количество товара на складе Дублирование товара в корзине Повторение товара в корзине Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|