我在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
答案 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
?所以你的标记会搞砸了