我真的一直在尝试自己解决这个问题,但互联网上的所有教程要么不起作用,要么只写了一半……没有人解释你如何回应内容。
现在我正在拉一张热门搜索表...我想显示名称,然后在其下方显示类别名称。但问题是,搜索表将类别存储为 ID 而不是名称。
所以我需要使用连接,它将“popular_search”表中的“category_id”列链接到“categories”表中的“id”列...然后显示来自“类别”表显示类别名称。
没有人提供有关如何回显内容的信息,因为两个表都有同名的列,我该怎么做?我不明白...
这是我当前的查询:
SELECT * FROM popular_search ORDER BY `hits` DESC LIMIT 9
这是我当前的 echo ,但我需要用另一个表中的类别名称替换 id 字段:
<?php echo $item['name']; ?>
<?php echo $item['category_id']; ?>
最佳答案
使用 AS
应该适合你:
SELECT
ps.*,
ca.name as `category_name`
FROM
`popular_search` as `ps`
INNER JOIN
`categories` as `ca`
ON
ps.category_id = ca.id
ORDER BY
ps.hits DESC
LIMIT 9
现在它将作为 category_name
在您的数组中。
您可以在此处阅读更多信息:http://dev.mysql.com/doc/refman/5.0/en/select.html
关于php - 对 MySQL join 真的很困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13722603/