SQL查询以显示与pages_learn_more ID相关的所有tool_tip_links?
如何正确构建此查询?
$SQL =
"SELECT ptt.tool_tip_link
FROM pages_tool_tip ptt
JOIN pages_to_pages ptp
ON ptp.tool_tip_id = ptt.tool_tip_id
WHERE ptp.learn_more_id = 2";
$result = mysql_query($SQL); // or die(mysql_error());
while ($db_field = mysql_fetch_array($result))
{
$reference_keys = $db_field['tool_tip_link'];
}
echo $reference_keys;
如何组合这些查询以使其清洁高效?谢谢你的帮助..
-------------------------------------- UPDATE -------- -------------------------- 使用此代码:
"SELECT ptt.tool_tip_link
FROM pages_tool_tip ptt
JOIN pages_to_pages ptp
ON ptp.tool_tip_id = ptt.tool_tip_id
JOIN pages_learn_more plm
ON plm.id = ptp.learn_more_id
WHERE plm.id = 2";
应该给我看3个tool_tip_links。然而,它仅返回DB中的最后一个字段,即4 - > LINK 4
那么我如何获得所有链接,而不仅仅是最后一个? ty再次..
-------------------------------------- UPDATE -------- --------------------------
当我回显出mysql_num_rows时,它正确显示为id#2的3。
那么我需要显示所有三行链接的代码? LOOP ARRAY? 我没有得到它,因为它应该已经在我的数组中循环。我可以回复$reference_keys
还是应该做些不同的事情?
我还尝试了foreach
并返回了错误。我究竟做错了什么?请指教。
更多数据库视图 - >希望它有助于找到决心..
答案 0 :(得分:2)
根据您的标准:
SQL查询,显示与pages_learn_more ID
相关的所有tool_tip_links
你走了
SELECT ptt.tool_tip_link
FROM pages_tool_tip ptt
JOIN pages_to_pages ptp
ON ptp.tool_tip_id = ptt.tool_tip_id
WHERE ptp.learn_more_id = :id
:id
是此处的变量。
答案 1 :(得分:1)
您应该将查询重写为:
"SELECT ptt.tool_tip_link
FROM pages_learn_more plm
JOIN pages_to_pages ptp
ON plm.id = ptp.learn_more_id
JOIN pages_tool_tip ptt
ON ptp.tool_tip_id = ptt.tool_tip_id
WHERE plm.id = 2";
这使得pages_learn_more成为你加入的主表,并找到你想要的东西。