Php 更改mysql可拖动框中的所有列

Php 更改mysql可拖动框中的所有列,php,mysql,database,Php,Mysql,Database,我正在开发一个带有可拖动框的小脚本,并将它们保存在MySQL表中。但是我有一个小问题。我不知道如何编写用于删除和添加新框的SQL查询。假设我们有这样的桌子: ----------------------------------- | id | position | title | ----------------------------------- | 23 | 1 | something| | 24 | 2 | so

我正在开发一个带有可拖动框的小脚本,并将它们保存在MySQL表中。但是我有一个小问题。我不知道如何编写用于删除和添加新框的SQL查询。假设我们有这样的桌子:

-----------------------------------
|   id    |  position  |  title   |
-----------------------------------
|   23    |    1       | something|
|   24    |    2       | something|
|   26    |    3       | sometging|
|   32    |    4       | something|
.............etc...................
-----------------------------------
ID是盒子的ID(盒子的唯一编号)。位置是布局中每个框的位置,标题是标题(很简单):)我不知道如何查询添加/删除框并更改“位置”列中的所有行,在新的或删除的行之后

假设我想删除ID为24的框。以下是更改后的表格:

-----------------------------------
|   id    |  position  |  title   |
-----------------------------------
|   23    |    1       | something|
|   26    |    2       | sometging|
|   32    |    3       | something|
.............etc...................
-----------------------------------
这是我在表中添加新框时的表。(新框的ID=10)

如何编写从表中添加和删除框的查询

另外,我的英语真的很差,我希望你能理解我,给我一个解决问题的办法

干杯

就像这个兄弟 1.在框中插入(id、位置、标题)值('99'、'12'、'something'); 2.在框中插入值('99'、'12'、'something'); 3.如果您使用“ID”的自动增加字段 在框中插入(位置、标题)值('12','something'); db将为您分配新id。 您最好访问www.w3schools.com


玩得开心

我知道您想在插入或删除行时更新位置。我说得对吗

为此,可以使用触发器同时执行这两个操作。并非所有版本的MySQL都支持触发器,因此您必须检查MySQL文档

否则,您必须在代码中使用多个查询:至少一个用于在插入/删除之前更新表,另一个用于插入/删除

例:如果1是新行的位置:

UPDATE my_tbl SET position = position + 1 where position >= 1
INSERT INTO my_tbl (id, position, title) VALUES (10, 1, 'something')
或:如果2是删除行的实际位置:

UPDATE my_tbl SET position = position - 1 where position > 2
DELETE FROM my_tbl where id = 24
当然,WHERE条款将取决于您的规格


但是:如果您的表在位置字段上有一个唯一的索引,那么需要做更多的工作来一致地处理您的数据…

是的,这就是我需要的…非常感谢Herode
UPDATE my_tbl SET position = position - 1 where position > 2
DELETE FROM my_tbl where id = 24