如何解决从前端开始更改记录顺序
| 我在编写下一个功能时遇到问题。我希望用户能够重新排列记录并更改display_order值。我正在使用Jquery UI的可拖放属性来简化此操作。 我可以看到display_order值的简单交换将如何工作。但是我想为一条记录设置显示顺序,理想情况下是让其他记录随机播放,因此没有重复的display_order值。除了不了解如何做之外,似乎很难编写代码,而且效率低下,将列表中的每个值都拖进去。 因此,我对这种事情通常如何或应该如何做的建议持开放态度。 我虽然可以使用3.000之类的值来表示顺序,然后在我要取代记录时将其值设为3-0.001,所以其值2.999会在2到3之间排序。但是我可以看到很多错误这个想法,似乎并不是遵循的好方法。 感谢您的输入!解决方法
在表格中添加一个排序列
smallint
,
mediumint
或int
取决于
预期总条目数
在末尾追加一个新条目max(sorting) + 1
重新排序商品时,获取商品的新位置,并相应地更改较高的排序条目:
mysql_query(\'UPDATE yourTable set sorting = \'.$yourNewposition.\' where id=\'.$yourUniqueId .\' LIMIT 1\');
mysql_query(\'UPDATE yourTable set sorting = sorting + 1 where sorting >= \'.$yourNewposition.\' AND id != \'.$yourUniqueId );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。