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

时间:2017-01-24 10:02:38

标签: php jquery mysql jquery-ui jquery-ui-sortable

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

  

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

并回拨一个选择的页面以显示在页面上。我打算将这些$ string存储在MySQL表中。

基本上我将如何接收所述$ 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'
      });*/
    }
  });
});

1 个答案:

答案 0 :(得分:1)

当您在Db中保存时,请使用此

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

插入..

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

<?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>

如果有,可能会有一些语法错误,请更正。