来自数据库的可排序列表

时间:2014-07-20 09:48:44

标签: php jquery mysql jquery-ui

我在html中有一个简单的列表:

<ul id="sortable">
    <li id="1">item1</li>
    <li id="2">item2</li>
    <li id="3">item3</li>
</ul>

我使用jQuery UI对其进行排序。这允许用户移动每个项目的顺序:

$('#sortable').sortable();

但是当我从MySql数据库中获取相同的项目时,“sortable”不再起作用,我无法更改项目的顺序。所以我的问题是:当列表来自数据库时,如何使列表可排序?

<?php  
$result = mysqli_query($con, 'SELECT * FROM principal ORDER BY ordre');
while ($row = mysqli_fetch_array($result)) {
?>

<ul id="sortable">
    <li id="<?php echo $row["id"] ?>"><?php echo $row["concepte"]?>;</li>
</ul>
<?php 

2 个答案:

答案 0 :(得分:2)

您正在为每个记录行生成ul元素,因为它应该是一个具有多个LI元素的UL,还要修复li HTML代码

<?php  
$result = mysqli_query($con, 'SELECT * FROM principal ORDER BY ordre');
echo '<ul id="sortable">';
while ($row = mysqli_fetch_array($result)) {
?>


    <li id="<?php echo $row["id"]; ?>"><?php echo $row["concepte"]; ?></li>
<?php 
   }
echo '</ul>';
?>

答案 1 :(得分:1)

我不是一个PHP人,但看起来它会在每次迭代时生成一个ul?所以你的标记会搞砸了