2011-08-23 220 views
4

我有一個名爲tblActivities的表。有兩個字段IDAttendees將數據添加到MySQL數據庫中的現有數據

ID  Attendees 
1  Jon Jhonson 
2  Ive Iveson 

哪個PHP函數或MySQL聲明,我需要用得到這個結果:

ID  Attendees 
1  Jon Jhonson, Ive Iveson, Adam Adamer 
2  Ive Iveson 

換句話說,我怎麼能在我的數據庫中的新數據添加到現有的數據?

+0

檢查concat選項 – krifur

+0

您可能需要提供鏈接表信息,您應該有另一個表顯示哪些活動參與 – ChrisK

回答

11

你需要的東西,如:

UPDATE tblActivities 
SET Attendees = CONCAT(Attendees, "Ive Iveson, Adam Adamer") 
WHERE id = 1; 

但是,也許你應該改變數據庫佈局。一個字段中最好只有一個值。您可以在http://en.wikipedia.org/wiki/Database_normalization下找到更多信息。

1

使用mysql的更新語句。如果你想通過PHP來exeute然後

先用select語句獲取現有值,

SELECT Attendees from <table-name> WHERE ID = 1 

,你會得到與會者的現有價值,把它放在一個PHP變量,現在串聯你的價值.. 和然後更新,

UPDATE <table_name> 
SET Attendees=<new-value> 
WHERE ID=1 

你將不得不使用PHP的MySQL的功能,運行上面的查詢

0

我覺得你的照關閉重組。製作表格:

ID (primary key) 
ACTIVITY_ID (foreign key to activity table) 
ATTENDEE (foreign key to USERS table) 

然後選擇該事件和PHP中的concat。

$q = mysql_query('SELECT ATTENDEE FROM tblActivities '. 
        'WHERE ACTIVITY_ID = $activity_id'); 

$attendees = array(); 
while($row = mysql_fetch_assoc($q)) 
{ 
    $attendees[] = $row['attendee']; 
} 
$attendees =implode(' ', $attendees);