如果我有4个db行,我希望能够使用列'position'对它们进行排序。
id - name - position
1 - row1 - 1
2 - row2 - 2
3 - row3 - 3
4 - row4 - 4
我知道如何使用php SELECT SORT BY等进行排序
但我希望能够按下一个可以交换位置的超链接。
Row img img
row1 (down)
row2 (up) (down)
row3 (up) (down)
row4 (up)
即,按下第2行将改变第2行的位置 - > 1并将改变第1行的位置 - > 2
非常感谢任何帮助。
答案 0 :(得分:0)
在超链接上,加载一个PHP页面,该页面包含几个参数:
由此,您将确切地知道您需要做什么,并可以设计查询以在数据库中交换这些项目。完成此操作后,重新加载页面。
答案 1 :(得分:0)
最简单的方法是使用允许项目重新排序的JavaScript库。 看一下这个: http://jqueryui.com/demos/sortable/
用户完成重新排序后,您可以保存所有元素的当前位置。 使用此方法,用户可以按照自己喜欢的方式重新排列所有项目,而无需在每次点击“#34; Up"或" Down"。
答案 2 :(得分:0)
UM 怎么样呢
while ($row = mysql_fetch_array($query)) {
@$group[] = $row['img'];
}
and call it
echo $group[1];
echo $group[3];
echo $group[0];
echo $group[2];
等。 idk如果这就是你的意思
答案 3 :(得分:0)
如果您只想在UI中交换位置,可以使用javascript。
例如:
<div id="1" > <div id="data_1">data goes here for row1</div> </div>
<div id="2" > <div id="data_2">data goes here for row2</div> <a onclick="moveUp(2);"> UP</a> <a onclick="moveDown(2);"> Down</a></div>
<div id="3" > <div id="data_3">data goes here for row3</div> </div>
<script>
function moveUp(n){
var m = n-1;
var own_id = 'data_'+n;
var new_id = 'data_'+m;
var tmp_data = '';
var own_data = $(own_id).innerHtml;
if($(new_id) != 'undefined'){
tmp_data = $(new_id).innerHtml;
$(new_id).innerHtml = own_data;
$(own_id).innerHtml = tmp_data;
}
}
function moveDown(n){
//same logic can be applied here
}
</script>
希望它会有所帮助。
答案 4 :(得分:0)
我也遇到了同样的问题,你可以尝试这种解决方案。 http://www.phpfreaks.com/tutorial/php-custom-list-order