将可排序列表转换为查询并检索它并再次显示

Turn a sortable list into a query and retrieve it and display it again

这里我有一个使用 JQuery UI sortable event 创建字符串的示例 我想像这样使用多个字符串

$string: item[]=4&item[]=1&item[]=2

并回叫一个 select 显示在页面上。我计划将这些 $string 存储在 MySQL table.

基本上我将如何接收所述 $string 并使用它以特定顺序显示某些内容

这是一个 JSfiddle,向您展示我所处的阶段。

https://jsfiddle.net/mjfncugx/


HTML:

<ul id="sortable">
        <li id="item_1">test1</li>
        <li id="item_2">test2</li>
        <li id="item_3">test3</li>
        <li id="item_4">test4</li>
        <li id="item_5">test5</li>
      </ul>
      Query String: <span></span>

JQuery UI

$(document).ready(function() {
  $('ul').sortable({
    axis: 'y',
    stop: function(event, ui) {
      var data = $(this).sortable('serialize');
      $('span').text(data);
      /*$.ajax({
          data: oData,
          type: 'POST',
          url: '/your/url/here'
      });*/
    }
  });
});

在 Db 中保存时,只需使用此

str_replace('[]=', '_', 'item[]=2&item[]=1&item[]=3&item[]=4&item[]=5');

插入后..

我假设 $data = item_2&item_1&item_3&item_4&item_5; 来自数据库。

<?php
$data = !empty($data) ? explode('&', $data) : '';
?>


<ul id="sortable">
<?php
    if(!is_array($data))
    {
?>
    <li id="item_1">test1</li>
    <li id="item_2">test2</li>
    <li id="item_3">test3</li>
    <li id="item_4">test4</li>
    <li id="item_5">test5</li>
    <?php
    } else {
    ?>
        foreach($data as $data_row)
        {
            ?>
            <li id="<?= $data_row ?>"><?= str_replace('_', '', $data_row); ?></li>
            <?php
        }
    <?php
    }
    ?>
</ul>

可能有语法错误,请指正。