2013-11-27 44 views
0

這對我來說很複雜,所以我希望有人能幫助我。mysql和php更改具體ID的單個數據

我有一個表顯示存儲在數據庫中的消息。這些消息就像一個評論框。包含這些消息的數據庫包含以下表格:

id,name,message,urlUserOne,urlUserTwo,urlUserThree。

id設置爲自動遞增,爲每條消息創建一個唯一編號。 名稱用於存儲編寫消息的用戶的名稱。 消息保存寫入的消息。

屏幕上顯示的消息將由固定的用戶組顯示爲紅色,這就是爲什麼我添加了urlUserOne/urlUserTwo/etc的原因。他們持有一個文字,說明這個用戶是否有紅色的消息。

在消息下方顯示三張照片,每個用戶一張。我想要的是,當用戶點擊他的照片時,存儲在數據庫中的數據將會改變,但只是爲了這個人,所以其他用戶知道他已經將該消息變成紅色。其他用戶的文本需要保持不變,只是該用戶針對該特定消息的文本需要更改。

我該如何做到這一點?希望有人能幫助!

+0

更新表SET urlUserOne =「已讀」WHERE id = idOfMessage .......有沒有理由不工作? –

+0

這將只適用於urlUserOne,因爲您在sql中指定了它。但是SET的數據是可變的。因爲如果用戶2單擊他的照片,我需要表更新urlUserTwo,而不是urlUserOne。 –

+0

是的,所以取決於哪個照片被點擊,改變設置條件.... –

回答

1

首先,每個用戶在DB中的列應該是布爾值(TRUE表示讀取,FALSE表示未讀)。
然後:添加元素的每張照片,例如:
HTML

<a href="read.php?id=[MESSAGE_ID]&user=user1"><img src="pic_user1.jpg" ... /></a> 
<a href="read.php?id=[MESSAGE_ID]&user=user2"><img src="pic_user2.jpg" ... /></a> 
etc... 

然後,在read.php
PHP

$sql = "UPDATE table_messages SET ".$_GET['user']." = true WHERE id = ".$_GET['id']; 
execute_query($sql) 

讓我知道,如果它是有用的。

+1

**請**,不要忘記在執行SQL查詢之前驗證PHP中的變量。 –

+0

正是我在找的東西,謝謝!我正在努力如何讓一個變量進入sql。你的例子是我需要處理的事情,現在就修正它!謝謝! –