gpt4 book ai didi

php - 对组内的行重新排序

转载 作者:行者123 更新时间:2023-11-29 22:45:54 24 4
gpt4 key购买 nike

我正在为一个拥有大量图片库的网站制作一个管理系统。该界面将允许用户在每个图库中添加、删除或重新排序图像。

我有一个表,其中包含所有图库中的所有图像,“id”自动递增,并且 sort_order 默认设置为 0。

+----+-----------+------------+------------+
| id |gallery_id | sort_order |
+----+-----------+------------+------------+
| 1 | 1 | 1 |
| 2 | 1 | 0 |
| 3 | 1 | 2 |
| 4 | 1 | 3 |
| 5 | 1 | 4 |
| 6 | 1 | 5 |
| 7 | 1 | 6 |
| 8 | 2 | 0 |
| 9 | 2 | 1 |
| 10 | 2 | 2 |
| 11 | 2 | 3 |
| 12 | 2 | 4 |
| 13 | 2 | 5 |
| 14 | 2 | 6 |
+----+-----------+------------+------------+

这是通过 ajax 使用序列化数组的重新排序查询:

if($_POST['item']) {
$order = 0;

foreach ($_POST['item'] as $id) {

$rearrange = $db->query
("UPDATE images SET sort_order = '".$order."' WHERE id = '".$id."'");
$order++;

它根据传递的数组的长度限制 sort_order,然后对于其到达的下一组默认为 0。我可以重新排序、添加、删除,并且它始终限制对我正在编辑的 gallery_id 组的更改。

(作为实验,我在所有画廊中按升序插入了 sort_order 值,如下所示:

+----+-----------+------------+------------+
| id |gallery_id | sort_order |
+----+-----------+------------+------------+
| 1 | 1 | 0 |
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 1 | 3 |
| 4 | 1 | 4 |
| 5 | 1 | 5 |
| 6 | 1 | 6 |
| 7 | 1 | 7 |
| 8 | 2 | 8 |
| 9 | 2 | 9 |
| 10 | 2 | 10 |
| 11 | 2 | 11 |
| 12 | 2 | 12 |
| 13 | 2 | 13 |
| 14 | 2 | 14 |
+----+-----------+------------+------------+

当我使用界面对行重新排序时,它限制了 gallery_id 组内的 sort_order,正如第一个表中所示)。

我正在寻找这种方法的注意事项。有人这样做过吗?

最佳答案

UPDATE images
SET
sort_order = FIELD(id, A, B, C, D, E)
WHERE gallery_id = N
AND id IN(A, B, C, D, E)

关于php - 对组内的行重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com