4

在此处输入图像描述

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;

如何组合这些查询以使它们干净高效?谢谢您的帮助..

- - - - - - - - - - - - - - - - - - - 更新 - - - - - - ----------------------- 使用此代码:

    "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。但是它只返回数据库中的最后一个字段 4 -> LINK 4

在此处输入图像描述

那么我如何获得所有链接,而不仅仅是最后一个?又来了。。

- - - - - - - - - - - - - - - - - - - 更新 - - - - - - ----------------------

当我回显 mysql_num_rows 时,它正确显示 3 表示 id #2。

那么我需要什么代码来显示所有三行链接?循环阵列?我不明白,因为它应该已经在我的数组中循环了。我可以只是回应$reference_keys还是我应该做一些不同的事情?

我也试过了foreach,但返回了一个错误。我究竟做错了什么?请指教。

更多数据库视图->希望它有助于找到解决方案..

这是 pages_learn_more 表

这是页面工具提示表

4

2 回答 2

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是这里的变量。

于 2012-07-12T17:14:33.503 回答
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 成为您联接的主表,并找到您想要的内容。

于 2012-07-12T21:04:46.883 回答