Показать сообщение отдельно
  #4 (permalink)  
Старый 05.01.2016, 14:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А то, что и на клиенте имена параметров с потолка, и на сервере с ними же каша.

Сообщение от K_PECT
А может есть возможность отправлять в БД артикул и количество, а БД будет возвращать название товара, стоимость и т.д.?
Есть, а также база данных может формировать уникальный идентификатор, который более удобен, чем артикул являющийся строкой, хотя можно и полю артикула определить уникальный индекс, но если бы только выборка нужна была, а ведь потребуется гораздо большего.

Для сервера нужен уникальный идентификатор и количество товара, все остальное он получит из базы. Вот только на клиенте никчемные имена полей: "pole1",..., причем не понятно с какого перепуга нужно формировать на нем json, если для передачи данных на сервер уже давно есть готовое и удобное - форма. Потом на сервер с именованием и определением тоже каша.

Желательно не афишировать структуру таблиц базы данных, но можно использовать в качестве имен полей формы имена соответствующих полей таблицы базы, но без префикса. В этом случае легко связать полученные данные с конечным адресатом. Можно поступить и иным путем когда имена знает только сервер, а имена полей формы это ключи этих полей, по которым их можно получить.

Это относительно именования. В случае же получения товара с клиента, вообще ничего не требуется, достаточно одного имени для всех полей формы как ключа массива, индексами которого будут идентификаторы товаров. Сервер получить массив в котором ключ это ID товара, а значение, это выбранное его количество. Что-то сложного с полями тут и определять не надо, имя поля одно, и оно известно, это имя и будет фигурировать для WHERE, остается подставить ключ из массива, и по указанному ID будет получена информация о товаре.

Нужно начинать изучать серьезно и базы данных, и серверный язык, и т.д., ибо рассказать все да еще простыми словами не возможно. Но и так писать код как приведено нельзя, в нем практически все не нужное, как на клиентской стороне, так и на серверной.
Ответить с цитированием