好吧基本上我需要根据图像1中的tab_id和图像2中的id(连接)选择图像1中的submitted_link行。选择此项后,我需要为图像2中的每个id更新图像2中的tab_content行。图像下方是我现在的代码。
图片1:
Database Help http://bekustom.com/Untitled-1.jpg
图片2:
Database Help http://bekustom.com/Untitled-2.jpg
我的代码:
$sql = ("SELECT submitted_links.submitted_link, submitted_links.tab_id, users_tabs.id FROM users_tabs, submitted_links WHERE submitted_links.tab_id=users_tabs.id AND submitted_links.user_id=users_tabs.user_id");
$result = mysqli_query($db, $sql);
while($row = $result->fetch_array()) {
$rows[] = $row;
}
foreach($rows as $row) {
$tab_content[] = $row['submitted_link'];
$tab_id = $row['tab_id'];
$tab_implode = implode(",", $tab_content);
$sql2 = ("UPDATE users_tabs SET tab_content='".$tab_implode."' WHERE id='".$tab_id."'");
$result2 = $db->query($sql2);
}
我目前在tab_content中获得了什么:
ID 17: http://google.com,http://twitter.com,http://google2.com
ID 18: http://google.com,http://twitter.com
tab_content中的所需数据:
ID 17: http://google.com,http://google2.com
ID 18: http://twitter.com
答案 0 :(得分:1)
您需要更改PHP代码!
试试这个......
$sql = "SELECT
submitted_links.submitted_link,
submitted_links.tab_id,
users_tabs.id,
GROUP_CONCAT( submitted_link ) AS all_links
FROM
users_tabs, submitted_links
WHERE
submitted_links.tab_id = users_tabs.id
AND submitted_links.user_id=users_tabs.user_id
GROUP BY submitted_links.tab_id";
$result = mysqli_query($db, $sql);
while($row = $result->fetch_array())
{
$sql2 = "UPDATE
users_tabs
SET
tab_content='" . $row['all_links'] . "'
WHERE id='" . $row["tab_id"] . "'";
$result2 = $db->query($sql2);
}
答案 1 :(得分:0)
在mysql环境中尝试此查询。如果有效,则无需while
,foreach
循环
UPDATE users_tabs AS c
join (SELECT o.tab_id, GROUP_CONCAT(o.submitted_links SEPARATOR ',' ) as 'links'
FROM submitted_links AS o GROUP BY o.tab_id) as mysub_tab
on c.id= mysub_tab.tab_id
SET c.tab_content = mysub_tab.links