Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 20.03.2015, 13:06
Аспирант
Отправить личное сообщение для Daniel93 Посмотреть профиль Найти все сообщения от Daniel93
 
Регистрация: 21.02.2015
Сообщений: 37

Пока заносится только общая сумма

define('DEBUG', 1);
$query = mysql_query ("INSERT INTO `item_smeta`
(`sub_item_smeta`, `score_item_smeta`) VALUES ('', '$sum')") or die(DEBUG ? __FILE__ . '/' . __LINE__ . '/' . mysql_error() : 'Извините, ошибка');


sub_item_smeta - Сюда должна заноситься расшифровка, как я думал с помощью json_encode

score_item_smeta - общая, конечная сумма.
Ответить с цитированием
  #22 (permalink)  
Старый 20.03.2015, 13:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Ну запишите вы это,и что это даст, как же вы будете делать выборку, если потребуется, что-то получить по заказу? А общую сумму как раз писать в базу нет нужды.

Еще раз - имена полей формы отражают массив, ключами которого являются уникальные идентификаторы услуг. Для его это и что это дает?

Вы не копируйте так "как есть", что я написал, то и вы себе вставляете. Я пишу лишь пример, "тезисы", а как оно должно быть на самом деле мне не известно, ибо я не знаю ни задач, ни условий.

Но кое что мне все-таки известно, и это кое что указывает на то, что вы поступаете не верно (это понятно из того, что вы сейчас представили).

1) Я добавил элемент SPAN для отображения общей суммы просто потому, что в примере ее нужно было во что-то вписать, но вам то он зачем? В вашем случае, например, у таблицы должна быть еще одна строка, последняя, такой структуры:

<tr>
    <th colspan="2">Общая сумма:</th>
    <th id="total"></th>
</tr>


ячейка id="total" которой и будет хранить сумму, а не span болтающийся под кнопкой отправки формы.

Форма у вас отправляется естественным способом, но у услуг есть условие (это ведь условие?) по цене - от минимума до максимума. Значит при наборе суммы в полях ввода, нужно проверять соответствует ли введенное этим условиям.

Эта проверка как сервис на клиенте, чтобы не гонять клиенту форму зря при ошибках ввода. А на севере такая проверка, это уже не сервис, а ваша обязанность как программиста. Что будет если пользователь ошибется, или что будет, если я вам пришлю форму с липовыми значениями, ключами которых будут не id услуг, а ABRACADABRA? Если таблица в базе грамотно составлена, будет ошибка о дубликатах ключей, а нет, так мусор и запишется. У вас у какой-то услуги цена от 200 до 500, а я ввиду 10 или 1000000, и что вы будете делать?

Проверка данных пришедших извне, соответствие их значений вашим же условиям, это первое что необходимо и только потом, если "таможня дала добро" следует их запись в базу. Правда писать надо совсем не то что вы в нее пишите. Решайте вопрос с проверкой, с учетом того, что по уму у вас должна быть не одна таблица описывающая заказ, а две - в первой это общие характеристики заказа, в другой выбранные услуги на указанную цену. Это есть детализация (расшифровка по вашему) заказа, детали же по услугам, как то их наименования можно получить из таблицы их описывающей по их идентификаторам, которые вы получите из формы, именно для этой цели они и помещаются в имена полей, именно они и пишутся в базу.

Думайте над проверкой сначала.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка щелчка по button. тонкие различия с input type=button xtfkpi Events/DOM/Window 1 28.01.2015 23:32
Принятие из input данных и обработка в функции AJAX SunDr AJAX и COMET 0 14.11.2014 14:42
Ширина поля input text в зависимости от количества символов rekon87 (X)HTML/CSS 7 14.06.2013 22:55
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Обработка нескольких file input Temlekur Работа 8 21.01.2010 18:30