如何在 php 中保存 jquery ui 可排序顺序

Posted

技术标签:

【中文标题】如何在 php 中保存 jquery ui 可排序顺序【英文标题】:how can i save jquery ui sortable order in php 【发布时间】:2016-06-17 11:34:22 【问题描述】:

我有new_cats 表,它包含id, title, order,我像这样从表中发布数据

php

    <table>
    <tbody class="sort">
    <?php
    $select_newscats = $mysqli->query("SELECT * FROM news_cats order by ord_show asc");

    while ($rows_newscats = $select_newscats->fetch_array(MYSQL_ASSOC))

    $id_newscats          = $rows_newscats ['id'];
    $title_newscats       = $rows_newscats ['title'];
    $order_newscats       = $rows_newscats ['order'];
    ?>
    <tr class="trtable" id="item_<? echo $id_newscats; ?>">
    <td><? echo $id; ?></td>
    <td><? echo $title_newscats; ?></td>
    </tr>
    <?
    
    ?>
<button class="savesort"></button>
    </tbody>
    </table>

我有这个 jquery 代码来排序表并尝试更新数据库中的顺序

$(document).ready(function()
$(".sort").sortable(
        update: function (event, ui) 
            var order = $(this).sortable('serialize');
        
    ).disableSelection();

$('.savesort').on('click', function () 
var aa = $(".sort").sortable("serialize", 
attribute: "id"
);

var s = 
"aa":aa


$.ajax(
data: s,
type: 'POST',
url: 'ajax/save_newscats_ord.php',
success:function(data)
    alertify.success(data);
  
);
return false;
);

);

在此页面save_newscats_ord.php我试图保存订单,但我没有从 jquery 代码中获取任何数据我尝试使用此代码获取数据

<?php
$list = $_post['aa'];
echo $list;
?> 

如何将数据发送到 php 页面以及如何将其按顺序保存在我的数据库中

【问题讨论】:

请提供一些示例数据。由于它将是排序的结果 html,我们需要查看数据是如何被索引的以及排序是如何完成的。从您的示例中无法理解。 不应该是$_POST(大写)吗? 您生成表格的方式,变量的值将被覆盖。您需要将表格行生成代码放在 while 循环中。除了@A.O. 之外,我不完全确定这是否是问题的原因。提到。 @A.O.是的,对不起,这是一个错误,我做对了,我得到数组中的数据我如何将它保存在数据库中 没关系。看起来表格生成代码是正确的。 【参考方案1】:

您需要更改您的 PHP 代码以引用实际传递的 POST 变量,更改此行:

$list = $_post['aa'];

$list = $_POST['aa'];

请注意,PHP 中的变量名区分大小写。

【讨论】:

以上是关于如何在 php 中保存 jquery ui 可排序顺序的主要内容,如果未能解决你的问题,请参考以下文章

在 Wordpress 后端保存 jQuery UI 可排序顺序

JQuery UI 保存可排序列表

jQuery UI 可排序的默认顺序

PHP+jQuery-ui拖动浮动层排序并保存到数据库实例

jQuery UI 可排序:如果更新回调使 AJAX 调用失败,则恢复更改?

jQuery UI 可排序:确定项目的顺序