gpt4 book ai didi

php - 如何将多个表的值添加到一个数组中?

转载 作者:行者123 更新时间:2023-11-29 13:12:25 24 4
gpt4 key购买 nike

我正在使用 opencart 数据库制作一个简单的产品应用程序,该应用程序显示产品及其类别。

这里我遇到了一个问题,我已经通过将值循环到一个数组来创建一个数组,现在数据库包含3个或更多表,其中包含共同的category_id 1包含带有图像链接的id,另一个包含名称。这两个对我来说很重要。这是理解的代码

$sql = "SELECT * FROM oc_category";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
$categories[] =$row;
}

这段代码创建了一个包含category_id、category_image的数组,我可以进一步使用它

foreach ( $categories as $category){
echo "the category id is $category['category_id']";
}

现在另一个表是 oc_category_description,其中包含类别名称。我怎样才能使它成为一个数组,这样我就可以使用 $category['name'];来回应它。

我已经尝试了很多方法,其中我在一个中查询了 2 个表

$sql = "SELECT * FROM oc_category, oc_category_description";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
$categories[] =$row;
}

此方法有效,但它降低了应用程序的速度,并且同一个结果显示四次

这是我认为每个表都有的category_id,它在每个表中都很常见,我想用它来添加 oc_category_description 中的名称和其他描述。

任何想法将不胜感激。

谢谢

最佳答案

您需要在查询中GROUP BY您的category_id,例如

$sql = "SELECT * FROM oc_category, oc_category_description 
GROUP BY oc_category.category_id";

或者您甚至可以加入他们,就像

$sql = "SELECT * FROM oc_category
LEFT JOIN oc_category_description
ON oc_category.category_id = oc_category_description.category_id
GROUP BY oc_category.category_id";

关于php - 如何将多个表的值添加到一个数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21899514/

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