Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php mysql进行用户确定的排序或排序_Mysql_Sorting - Fatal编程技术网

使用php mysql进行用户确定的排序或排序

使用php mysql进行用户确定的排序或排序,mysql,sorting,Mysql,Sorting,向mysql表行分配订单的最佳方式是什么?如果我有第1行到第5行,并且我想删除第4行,那么如何将第5行设置为新的第4行?如果我将3设为新的1,则需要将1添加到其他每一行。可能有1行、2行或100行 是否有比手动编程每个意外事件更简单的方法 提前谢谢 其他: 我有一个界面,可以在其中添加软件包供客户查看。它们是自动按id升序排列的。我可以按价格、包名或其他任何方式重新排列它们,但我想随时根据自己的喜好任意排列它们 再次感谢 排序的基本方法通常相当于按字母或数字顺序对特定列进行排序。或者,如果无法根

向mysql表行分配订单的最佳方式是什么?如果我有第1行到第5行,并且我想删除第4行,那么如何将第5行设置为新的第4行?如果我将3设为新的1,则需要将1添加到其他每一行。可能有1行、2行或100行

是否有比手动编程每个意外事件更简单的方法

提前谢谢

其他: 我有一个界面,可以在其中添加软件包供客户查看。它们是自动按id升序排列的。我可以按价格、包名或其他任何方式重新排列它们,但我想随时根据自己的喜好任意排列它们


再次感谢

排序的基本方法通常相当于按字母或数字顺序对特定列进行排序。或者,如果无法根据您拥有的数据创建所需的订单,则您需要添加一列,以便进行排序,然后创建一个接口以使用数据填充该列。听起来你需要晚一点做。

基本的排序方法通常相当于按字母或数字在特定列上排序。或者,如果无法根据您拥有的数据创建所需的订单,则您需要添加一列,以便进行排序,然后创建一个接口以使用数据填充该列。听起来你需要晚一点做。

除非我完全误解了这个问题:


选择
行时,不要使用表,只需使用
排序依据
确定排序。

除非我完全误解了这个问题:


选择行时,不要使用表,只需使用
ORDER BY
确定排序。

假设数据库中有唯一的
ORDER\u列
列:

要在位置x添加新行:

  • 锁桌
  • 更新位置>=x的所有行并添加1
  • 然后在位置x插入新行
  • 解锁表格
交换x和y位置:

  • 更新表集x=(@temp:=x),x=y,y=@temp

要删除位置x处的行:

  • 锁桌
  • 移除位置x处的行
  • 更新位置>x并减去1的所有行
  • 解锁表格
显示数据:

只需通过
ORDER\u列
订购即可。

假设数据库中有唯一的
ORDER\u列
列:

要在位置x添加新行:

  • 锁桌
  • 更新位置>=x的所有行并添加1
  • 然后在位置x插入新行
  • 解锁表格
交换x和y位置:

  • 更新表集x=(@temp:=x),x=y,y=@temp

要删除位置x处的行:

  • 锁桌
  • 移除位置x处的行
  • 更新位置>x并减去1的所有行
  • 解锁表格
显示数据:

只需通过
ORDER\u列
ORDER\u列
即可。

位置是否是数据库中唯一的字段?永远不要重复使用主id's@Dagon顺序不必是首要的。我添加了一个顺序字段,独立于id,我将对其进行长期编程,但希望有人能有更好的方法。按顺序排序,但不要使用数据库中的订单id作为显示的订单计数器。或者换句话说,不要将数据结构的逻辑与某些编号系统的业务需求混为一谈。位置是否是数据库中唯一的字段?永远不要重用主id's@Dagon订单不必是第一位的我添加了一个订单字段,独立于id,我将对它进行长期编程,但希望有人有更好的方法。按顺序排序,但不要使用数据库中的订单id作为显示的订单计数器。或者换句话说,不要将数据结构的逻辑与某些编号系统的业务需求混为一谈。如果你打算否决投票,至少告诉我我的答案有什么问题。这很可能是这个问题的答案(不清楚)。是的,这是最好的答案。谢谢你花时间给我指出正确的方向,迈克。如果你打算否决投票,至少告诉我我的答案有什么问题。这是这个问题的一个很可能的答案(不清楚)。是的,这是最好的答案。谢谢你花时间给我指出正确的方向,迈克。