使用php mysql进行用户确定的排序或排序
向mysql表行分配订单的最佳方式是什么?如果我有第1行到第5行,并且我想删除第4行,那么如何将第5行设置为新的第4行?如果我将3设为新的1,则需要将1添加到其他每一行。可能有1行、2行或100行 是否有比手动编程每个意外事件更简单的方法 提前谢谢 其他: 我有一个界面,可以在其中添加软件包供客户查看。它们是自动按id升序排列的。我可以按价格、包名或其他任何方式重新排列它们,但我想随时根据自己的喜好任意排列它们使用php mysql进行用户确定的排序或排序,mysql,sorting,Mysql,Sorting,向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=(@temp:=x),x=y,y=@temp代码>
- 锁桌
- 移除位置x处的行
- 更新位置>x并减去1的所有行
- 解锁表格
只需通过
ORDER\u列ORDER\u列即可。位置是否是数据库中唯一的字段?永远不要重复使用主id's@Dagon顺序不必是首要的。我添加了一个顺序字段,独立于id,我将对其进行长期编程,但希望有人能有更好的方法。按顺序排序,但不要使用数据库中的订单id作为显示的订单计数器。或者换句话说,不要将数据结构的逻辑与某些编号系统的业务需求混为一谈。位置是否是数据库中唯一的字段?永远不要重用主id's@Dagon订单不必是第一位的我添加了一个订单字段,独立于id,我将对它进行长期编程,但希望有人有更好的方法。按顺序排序,但不要使用数据库中的订单id作为显示的订单计数器。或者换句话说,不要将数据结构的逻辑与某些编号系统的业务需求混为一谈。如果你打算否决投票,至少告诉我我的答案有什么问题。这很可能是这个问题的答案(不清楚)。是的,这是最好的答案。谢谢你花时间给我指出正确的方向,迈克。如果你打算否决投票,至少告诉我我的答案有什么问题。这是这个问题的一个很可能的答案(不清楚)。是的,这是最好的答案。谢谢你花时间给我指出正确的方向,迈克。