2011-04-20 65 views
1

好吧,我有一个清单系统,我正在努力。有一个页面从数据库中提取数据并将其显示为清单。我正在尝试创建一个按钮,在按下按钮时会将数据库重置为我想要的某个状态。基本上,我有一个按钮,发送ajax标注到执行UPDATE查询的php页面。此查询如下:php mysql - 更新表中的多行

UPDATE $table SET value='$value', comments='$comments', editedBy='$editedBy', editedDate='$editedDate' WHERE projectId='$projectId'; 

我首先设置变量,当然这不是我的问题。只是假装他们有数据。我的问题是我如何重复这个查询,以便每个行表x that projectId n更新?我猜这涉及到循环?

边注:由于此查询只是其值设置为false,使该commentseditedByeditedDate领域的空白,每行表X拥有的ñ一个专案编号,有没有更好的办法做这个比UPDATE查询以外?

感谢您的帮助!

+0

我假设这里的问题是你不知道所有的行表X有哪些使它麻烦更新或我错了吗? – 2011-04-20 14:53:20

+1

该查询使用您提供的projectId更新所有行。 – 2011-04-20 14:54:32

+0

谢谢@edem,正如你和@Jesse所说的那样,我只是试一试。 – RyanPitts 2011-04-20 15:00:31

回答

2

只要您未在UPDATE查询中确定LIMIT,它就会更新它找到的满足where子句的每一行。

现在,如果您要更新项目表并且projectID是您的主键,那么您需要运行一个循环来更新其他projectID。如果您没有更新项目表,那么您的更新查询将更新与您指定的项目ID具有外键匹配的记录。

这有帮助吗?

+0

谢谢!我在想这可能是这样,但我不想只是运行查询并搞砸了数据库......不会是世界末日,只是更多的工作。谢谢您的帮助。我会试一试。 – RyanPitts 2011-04-20 15:00:00

+0

是的,它的工作!猜猜我知道我究竟在干什么。感谢您为我确认。现在,除了用空白值更新行之外,是否有更好的方法从特定行的列中移除数据?或者这足够吗? – RyanPitts 2011-04-20 15:05:50

+0

根据您的约束,您可以在SQL查询中设置值= NULL。但是,在大多数应用中,一个空白值就足够了。 – 2011-04-20 15:09:28