
10.10.2016, 21:43
|
Профессор
|
|
Регистрация: 09.01.2013
Сообщений: 167
|
|
просто в дальнейшем будет подключатся оплата, и если он будет менять в форме сумму, то если меньше оплатить за тот же товар я проверю это
|
|

10.10.2016, 22:06
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от porezon
|
просто в дальнейшем будет подключатся оплата, и если он будет менять в форме сумму
|
Клиент просто физически не сможет изменить сумму, если цену, как это и положено, определяет сервер. Клиент может только изменить товары в корзине.
Пусть у вас в таблице goods товары:
id - идентификатор товара, name - его наименование, price - цена товара.
Вы выводите на страницу форму так как я описал в примере. Выбранные товары, их идентификаторы, будут переданы серверу как массив, пусть POST['good'].
if($goods = array_diff(array_map('intval', $_POST['good']), [0])) {
//массив не пуст, опустим проверку наличия таковых товаров в базе, хотя это нужно делать
//пишем полученные gid товаров в таблицу заказов orders, привязывая их к oid заказа покупателя
//если заказчик может редактировать свой выбор, то выбранное им определяется этой таблицей
}
Показать же сумму набранную по товарам (для простоты опускаем именование товаров, тем более мне не известно, что вообще делается у вас на сервере), это
$sql = 'SELECT SUM(price) total FROM goods WHERE id IN(SELECT gid FROM orders WHERE oid='.$order.')';
Последний раз редактировалось laimas, 10.10.2016 в 22:10.
|
|

10.10.2016, 22:18
|
Профессор
|
|
Регистрация: 09.01.2013
Сообщений: 167
|
|
 ну сделайте что я прошу, пожалуйста
|
|

10.10.2016, 22:22
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Определить цену клиентом и отправить ее серверу?
Это не сложно, в плане кода, но я такого показывать не стану, так делать нельзя, и такое даже обсуждаться не должно.
Пусть вам такое показывает тот, кому пофиг - просят, да пожалуйста. )
|
|

10.10.2016, 23:39
|
Профессор
|
|
Регистрация: 09.01.2013
Сообщений: 167
|
|
И так на странице есть 4 товара которые отображены в <span></span>
есть сумма которую должен заплатить человек(эту сумму он выбирает сам)
то есть в input форме он вставляет например 1500
и далее нажимает отправить, я фильтрую эту сумму проверяю со всеми возможными и т.д
но на сайте есть товары у которых фиксированная цена например 100, 500 и 1500 рублей
нужно чтоб при выборе нужного товара, сумма просто автоматически вставилась в input поле, без введния её пользователям... Больше ничего не нужна, только чтоб с span кнопки сумма прописывалась в input, и если вдруг он выберет другую span кнопку то цена менялась
|
|

11.10.2016, 02:13
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
То есть магазин с аукционом, тогда это все меняет. Но
Сообщение от porezon
|
на сайте есть товары у которых фиксированная цена например 100, 500 и 1500 рублей
|
и вашему магазину либо сказочно повезло, либо будет баг. Как происходит аукцион - "Лот №, название/характеристики", а затем принимаются ставки. Вы же упорно просите прислать цену.
Вопрос - каким образом вы будете знать, что присланная клиентом цена в 700 руб, это цена за товар с ценой 500, и не 1500 руб.?
По идее, в таком случае, на странице не может быть отображено 4 товара, а только один, с предлагаемой ценой или диапазоном цен 100 - 1500 и с возможностью указания и своей цены. Но даже в этом случае серверу должна передаваться информация id=>price. Иначе как можно понять это - "на странице есть 4 товара ... есть сумма которую должен заплатить человек(эту сумму он выбирает сам)"? Эта сумма за что, за несуществующий на странице пятый товар?
Сообщение от porezon
|
я фильтрую эту сумму проверяю со всеми возможными и т.д
|
Это полная ахинея, если только не иметь уникальных цен или не торговать четырьмя товарами.
|
|

11.10.2016, 06:15
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Типичный галлюциногенный топик "Гуляют там животные невиданной красы..."
porezon, все начинается с бизнес-логики.
|
|

11.10.2016, 12:07
|
Профессор
|
|
Регистрация: 09.01.2013
Сообщений: 167
|
|
почему аукцион? мне не нужно никаких готовых цен, всё работает по типу копилки, любой кидает любую сумму, ну чтоб руками её не писать, выбирает по кнопке нужную себе сумму
|
|

11.10.2016, 12:40
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от porezon
|
любой кидает любую сумму, ну чтоб руками её не писать, выбирает по кнопке нужную себе сумму
|
Ну так что есть span с ценами - предложение цены за один товар или цены нескольких товаров, ибо вот что вы писали при выборе товара который есть в span например?
Я уже говорил, что получить цену и по ней определять на сервере, что это такое, это полная профанация. К чему, к какому товару будет привязываться своя цена? Вы ничего не поясняете, пишите такое, что просто ахтунг.
Теперь же, следуя по тексту, можно предположить, что речь о предложениях на один товар. Тогда:
<style>
#add {
display: none
}
</style>
<script>
function getPrice(o) {
var i = document.getElementById('add');
if(!o.value) {
i.name = o.name;
i.style.display = 'inline'
} else {
i.name = '';
i.style.display = 'none'
}
}
</script>
<form>
<select name="good[12]" onchange="getPrice(this)">
<option value="100">100 руб.</option>
<option value="500">500 руб.</option>
<option value="1500">1500 руб.</option>
<option value="">Другая</option>
</select>
<input id="add" />
<button>GO</button>
</form>
Если будет выбрана своя цена, то сервер получит последнее значение массива - поля ввода, так как оно после списка, а имя получает такое же как и у списка. А 12, это идентификатор товара, а просто цена, это полный бред.
Последний раз редактировалось laimas, 11.10.2016 в 13:00.
|
|

11.10.2016, 15:58
|
Профессор
|
|
Регистрация: 09.01.2013
Сообщений: 167
|
|
текс текст текст
Последний раз редактировалось porezon, 11.10.2016 в 16:09.
|
|
|
|