使用PHP上下移动记录

使用PHP上下移动记录,php,mysql,Php,Mysql,是否有任何简单的方法可以使用PHP上下移动记录。例如,如果记录按此顺序(A、B、C、D),当用户单击记录“C”的向上按钮时,显示顺序必须更改为(A、C、B、D)。 这是否有效: 'C' -> 'temp'(copy) 'C' -> 'B' (update) 'B' -> 'temp' (update) 有没有更好的方法可以做到这一点。请参阅sort():请参阅sort():您可以随时交换要交换的元素的值。。。列表($b,$c)=数组($c,$b) 您始终可以只交换要交换的

是否有任何简单的方法可以使用PHP上下移动记录。例如,如果记录按此顺序(A、B、C、D),当用户单击记录“C”的向上按钮时,显示顺序必须更改为(A、C、B、D)。 这是否有效:

'C' -> 'temp'(copy) 
'C' -> 'B' (update) 
'B' -> 'temp' (update)

有没有更好的方法可以做到这一点。

请参阅sort():

请参阅sort():

您可以随时交换要交换的元素的值。。。列表($b,$c)=数组($c,$b)


您始终可以只交换要交换的元素的值。。。列表($b,$c)=数组($c,$b)

您将问题标记为“mysql”。看看ORDERBYSQL语句。您可以在表中添加一个名为“priority”或类似的行。每个条目按升序或降序获得优先级。当用户更改顺序时,您必须更新两行。

您将问题标记为“mysql”。看看ORDERBYSQL语句。您可以在表中添加一个名为“priority”或类似的行。每个条目按升序或降序获得优先级。当用户更改顺序时,必须更新两行

<a href='?direction=dn&index=1'>Down</a> Item 1

<a  href='?direction=up&index=2'>Up</a><a  href='?direction=dn&index=2'>Down</a> Item 2

<a href='?direction=up&index=3'>Up</a><a  href='?direction=dn&index=3'>Down</a> Item 3

<a href='?direction=up&index=4'>Up</a> Item 4
$direction=$_REQUEST['direction'];
$index=$_REQUEST['index'];

if($direction=='up'){  // if we clicked up then we want to swap with the preceeding item..
   list($items[$index-1],$items[$index])=array($items[$index],$items[$index-1]);
}else{  // else we want to swap with the subsequent item.
   list($items[$index+1],$items[$index])=array($items[$index],$items[$index+1]);
}