0

所以我想让类别名称显示在主题的 id 上。目前我有这个

        $cato = $db->prepare('SELECT
                        topics.topic_cat,
                        topics.topic_id,
                        categories.cat_id,
                        categories.cat_name
                    FROM
                        topics
                    LEFT JOIN
                        categories
                    ON
                        topics.topic_cat = categories.cat_id
                    WHERE
                        topics.topic_id =:topid');

$cato->bindParam(':topid',  $row2["topic_id"], PDO::PARAM_INT); 
$cato->execute();
$result2 = $cato->fetch();

Categories.cat_id是类别的id。

Categories.cat_name是我想要的名字。

Topics.topic_cat是发布主题的类别 id(与 categories.cat_id 相同的 id)

Topics.topic_id是主题的 id ( topic.php?id=28)

我的结果需要是

主题 28 属于 hello (hello = categories.cat_name) 类别。

因此,简而言之:主题 id 是 28 它在主题中搜索 28 的行topic_id并抓取与 28 位于同一行的 topic_cat。topic_id然后它在类别中查找并抓取categories_nameis topic_cat。然后它发布categories_name

我希望我足够清楚。

4

1 回答 1

0

你能试一下吗:

SELECT topics.topic_cat,
       topics.topic_id,
       categories.cat_id,
       categories.cat_name
FROM topics, categories
WHERE topics.topic_cat = categories.cat_id
      AND topics.topic_id =:topid

除非您有没有类别的主题,否则这应该有效。

于 2013-07-19T14:49:12.070 回答