将数据添加到MySQL数据库中的现有数据

问题描述:

我有一个名为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

你需要的东西,如:

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

但是,也许你应该改变数据库布局。一个字段中最好只有一个值。您可以在http://en.wikipedia.org/wiki/Database_normalization下找到更多信息。

使用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的功能,运行上面的查询

我觉得你的照关闭重组。制作表格:

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);