php - 关于文章列表 自定义排序问题
伊谢尔伦
伊谢尔伦 2017-04-11 09:55:29
[PHP讨论组]

在文章列表中 有10000条数据 按orderid 1 2 3 4 5.. 正序排列
改变当前操作的数据 其他数据的orderid 不变

后台操作 用户不知道所有数据的orderid

只知道能把任意数据选择放到 任意位置(通常是1 2 3 4 5 这几个位置 手动输入数字)

第一次操作 我想把当前的第5条数据放在第2条显示
第二次操作 我想把当前的第4条数据放在第3条显示
如何确保放置的位置是正确的?

可随意修改数据库字段 类型 最好不要修改其他的数据

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(1)
巴扎黑

新增一个id字段(创建数据时值和当前表的主键值相同)

在操作时,把操作的数据id变为放置的位置号,

把放置号到操作数据原位置号之间的所有id+1 或-1

筛选时按照这个id字段排序即可。

比如数据:

id   name   sort_id
1     aaa      1
2     bbb      2
3     ccc      3
4     ddd      4
5     eee      5

把第5条数据放在第二个显示, 2-4 这几个数据的 sort_id 都+1, 5的 sort_id 变为2

id   name   sort_id
1     aaa      1
2     bbb      3
3     ccc      4
4     ddd      5
5     eee      2

按照 sort_id 排序

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号