2011-04-20 53 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