Как согласовать rowID из сетки с ИСТИННЫМ rowID обратно в базу данных MYSQL? - PullRequest
0 голосов
/ 05 ноября 2011

У меня запущена текущая версия JQgrid, и у меня нет проблем с поиском в этой сетке, выбором строки и ее редактированием.

Когда я передаю этот апстрим, код PHP показывает значения для переменных POSTedНО

отправленный обратно ROWid соответствует ROWid выбранного ЭЛЕМЕНТА в сетке, которую я редактирую, а НЕ

TRUE rowID элемента назад в исходной таблице.

Следовательно, я не уверен, КАК обновлять / удалять записи, основанные на ЭТОМ rowID.

Как JQgrid «знает», какую строку обновлять в «реальной таблице», или ДОЛЖЕН просто добавить новый столбец, который

автоинкрементами и передачей ТО, чтобы использовать его в качестве ключа для строки в реальной таблице для обновления ??

Не думаю, что мне нужен здесь почтовый индекс… :)

1 Ответ

0 голосов
/ 05 ноября 2011

Ваш вопрос косвенно показывает, что вы заполняете jqGrid не совсем корректным способом. Видно, что вы не понимаете, что такое «rowid».

jqGrid построить сетку на основе таблицы HTML. Основная информация, которая будет размещена в таблице - это строки данных. Строки в таблице HTML - это элементы <tr>, которые имеют элементы <td> в качестве ячеек. При заполнении данных в сетке будут заполнены все элементы <tr>, включая атрибут id, например

<tr id="1410"><td>cell for the first column<td><td>cell for the second column<td></tr>

Важно понимать, что текущая реализация jqGrid должна иметь id атрибутов для каждой строки . Данные JSON или XML, которые вы отправляете обратно с сервера, должны содержать информацию id (см. документацию о различных поддерживаемых форматах при вводе данных jqGrid).

Таким образом, если вы заполните id свойство данных JSON или XML как идентификаторы из базы данных, описанная вами проблема никогда не будет существовать. Проблема существует либо в том случае, если вы не заполнили свойства id, либо заполнили его неправильно. В обоих случаях jqGrid не найдет никакой информации об идентификаторах, и в этом случае он сам должен будет генерировать идентификаторы <tr> элементов. В настоящее время jqGrid использует в данном случае последовательные номера 1, 2, 3, ..., но его можно изменить в любой новой версии jqGrid.

Поэтому я рекомендую вам проверить формат данных, которые вы отправляете обратно в jqGrid при их заполнении. Если у вас возникнут проблемы с поиском ошибки, вам следует включить в текст вашего вопроса полное определение jqGrid и дополнительно включить ответ сервера (данные JSON или XML). Для точного ответа сервера вы можете использовать, например, Fiddler или Firebug .

...