Вставка списка сортировки jQuery в MySql

Я пытаюсь вставить значения сортировки списка jquery в MySql. У меня проблемы с циклом в MySql при вставке. Я отсортировал такие предметы

-------------
 Sorted List
-------------
 did-1
 fid-1
 fid-2
 fid-3

После этого я использовал "сериализую", чтобы получить отсортированный список

$('.sortable').sortable({
connectWith: '.sortable',
tolerance: 'pointer',
update: function (event, ui) {
 $('#add_list').click(function(){ 
 var data = $('#drop_list1').sortable('serialize');
 $.ajax({
 data: data,
 type: 'POST',
 url: 'addnewlist.php',
 success: function(data){ 
 }
 });
 }); 
}

Я хочу, чтобы была добавлена множественная вставка для каждого 'did', 'fid'. В моем MqSql - '(did-1, fid-1) (did-1, fid-2) (did-1, fid-3)'

Я пробовал это на своем PHP.

foreach($_POST['doc'] as $doc)
{
 for($i=0;$i
1 ответ

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

foreach($_POST['doc'] as $doc)
{
 foreach($_POST['form'] as $form)
 {
 echo $sql="INSERT INTO addnewdoc(doc_id,form_id) VALUES ($doc,$form)";
 $res=parent::_executeQuery($sql);
 }
}

Это заканчивается запуском запроса вставки для каждой комбинации. Вам лучше было бы построить все значения в одном запросе и затем выполнить его один раз. Например:

$sql = "INSERT INTO addnewdoc(doc_id,form_id) VALUES ";
$values = Array();
foreach($_POST['doc'] as $doc)
{
 foreach($_POST['form'] as $form)
 $values[] = "($doc,$form)";
}
$sql .= join(',', $values);
$res=parent::_executeQuery($sql);

Это собирает все значения в массив и затем объединяет каждую из них в строку, разделенную запятыми. Затем вы можете запустить один запрос на вставку, чтобы вставить все значения.

licensed under cc by-sa 3.0 with attribution.