Вставка сортируемого списка jQuery в MySql

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

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

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

$('.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){
}
});
});
}

Что я хочу это — Несколько вставок для каждого «сделал», «FID» должен быть вставлен. В моем MqSql — ‘(did-1, fid-1) (did-1, fid-2) (did-1, fid-3)’

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

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

2

Решение

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

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);

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]