84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
在文章列表中 有10000条数据 按orderid 1 2 3 4 5.. 正序排列 改变当前操作的数据 其他数据的orderid 不变
后台操作 用户不知道所有数据的orderid
只知道能把任意数据选择放到 任意位置(通常是1 2 3 4 5 这几个位置 手动输入数字)
第一次操作 我想把当前的第5条数据放在第2条显示 第二次操作 我想把当前的第4条数据放在第3条显示 如何确保放置的位置是正确的?
可随意修改数据库字段 类型 最好不要修改其他的数据
小伙看你根骨奇佳,潜力无限,来学PHP伐。
新增一个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 排序
新增一个id字段(创建数据时值和当前表的主键值相同)
在操作时,把操作的数据id变为放置的位置号,
把放置号到操作数据原位置号之间的所有id+1 或-1
筛选时按照这个id字段排序即可。
比如数据:
把第5条数据放在第二个显示, 2-4 这几个数据的 sort_id 都+1, 5的 sort_id 变为2
按照 sort_id 排序