У меня есть список таких вещей, как
<ul id='lst'>
<li id=123>first item</li>
<li id=231>second item</li>
<li id=321>third item</li>
</ul>
в jQuery я делаю это сортируемым:
$("#lst").sortable();
После того, как сортировка завершена, я вызываю следующее, чтобы получить заказ, в который пользователь поместил товары:
.sortable('toArray');
Я публикую этот массив в сценарии PHP, используя AJAX:
.post("store.php") {
command: "storeitemorder",
list: $("#lst").sortable("toArray")
},function( data ) {},"json" );
это передает новый порядок в PHP, и я получаю массив. Теперь проблема: я хочу сохранить информацию в базе данных MySQL без необходимости делать отдельный запрос для каждого элемента. Каждый элемент имеет строку, хранящуюся в базе данных. Например, это начинается так:
123 - first item
231 - second item
321 - third item
число - строка, в которой находится элемент. Если пользователь поместил первый элемент в последнее место, я хочу, чтобы MySQL установил следующее
first item (id=123), row=2
second item (id=231), row=1
third item (id=321), row=0
Я мог бы сделать 3 запроса, но для этого должно быть более элегантное решение. Кроме того, список может быть намного длиннее, чем этот, и так как есть много пользователей, я не хочу делать запрос для каждого элемента списка ...
Кто-нибудь знает решение для этого?