gpt4 book ai didi

PHP如何显示两个表中的行

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:18 24 4
gpt4 key购买 nike

我有两个表,即“类别”和“产品”,如下所示:

categories
id | name

products
id | cat_id | name

产品中的 cat_id 引用类别表。

现在,我想在一个页面上显示所有产品的列表,该页面还必须显示产品所属类别的名称(而不是 cat_id)。我是 PHP 的新手,所以我正在做以下事情:

   foreach($products as $product):
echo $product->id . $product->name;
echo getCategoryName($product->cat_id);
endforeach;

很明显,检索相应类别名称的数据库调用等于要显示的产品数量,有些东西告诉我这根本不好。

那么,有没有更好的方法来做到以上几点呢?也许通过使用 SQL JOIN?

最佳答案

您应该使用 SQL 连接,这是迄今为止从两个表中选择数据的最佳和最简单的方法。

SELECT 
p.id AS id, c.name AS category, p.name AS name
FROM
products AS p LEFT JOIN categories AS c ON p.cat_id = c.id

您也可以使用 Trevor 的语句,但这是一种不同类型的连接。在这种情况下,只要产品 ID 始终存在,两者都可以使用。

更新:LEFT JOINRIGHT JOIN 的一点更新。当您从 2 个表中选择时,您有一个左右表(产品在此处,类别在右侧)。我给你的查询将匹配所有产品,即使该类别不存在。 RIGHT JOIN 将匹配所有类别,即使该类别中没有产品也是如此。

关于PHP如何显示两个表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com