php - 将 jQuery 的可排序列表插入 MySql

标签 php jquery mysql ajax jquery-ui-sortable

我正在尝试将 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<count($_POST['doc']);$i++)
    {
        $form=$_POST[$i]['form'];
        echo $sql="INSERT INTO addnewdoc(doc_id,form_id) VALUES ($doc,$form)";
        $res=parent::_executeQuery($sql);
    }
}

最佳答案

如果我的理解正确,您想要遍历文档,然后遍历每个文档的表单。这会起作用吗?

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

它将所有值收集到一个数组中,然后将它们中的每一个连接成一个以逗号分隔的字符串。然后,您可以运行单个插入查询来插入所有值。

关于php - 将 jQuery 的可排序列表插入 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27288942/

相关文章:

php - 使用 Laravel 5,如何确定 Mailgun 电子邮件是否已成功发送?

php - MySql - 不同服务器中表的大小写敏感问题

javascript - Jquery inputmask 动态屏蔽特定电子邮件域

javascript - 我需要将一个变量传递给我的函数

javascript - 如何识别哪个图像标签正在调用 mouseHover 函数?

php mysql 在同一个表中获取具有父 ID 的记录

php - 什么会破坏数据库和显示之间的字符集?

php - phpMyAdmin ssl 配置问题

javascript - 单击 div 滚动到 div

mysql - MySQL 中的 n-gram 计数