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 排序