gpt4 book ai didi

php - Category>Sub category>Sub sub category>Sub sub subcategory>产品1

转载 作者:行者123 更新时间:2023-11-29 00:11:34 26 4
gpt4 key购买 nike

我在产品类别和子类别网站上工作,可以创建的子类别数量是无限的,这意味着我们可以自己拥有子类别的子类别。一切正常,我只是有一个问题:假设“PRODUCT 1”属于“SUB SUB CATEGORY 1”,而“SUB SUB CATEGORY 1”是“SUB CATEGORY 1”的子类别,后者是“CATEGORY 1”的子类别,如何我在页面“产品 1”的顶部显示以下内容:类别 1>子类别 1>子子类别 1> 产品 1

我的类别表是:ID类别名称图像 parent

我的产品表是:ID产品名称类别

提前致谢

最佳答案

我假设,如果一个类别没有父级,那么它的父级在数据库中为 0。首先,我们获取产品名称、类别名称和类别的父 ID。然后我们检查父 ID 是否为 0。如果不是,那么我们寻找它的父 ID。它应该继续,直到父 ID 变为 0。因此,这应该可以解决问题:

$query = mysql_query("SELECT c.parent Parent, p.nameofproduct ProductName, c.nameofcategory CategoryName FROM product p INNER JOIN category c ON p.category = c.id WHERE p.id = " . $your_product_id . " LIMIT 1");
$result = mysql_fetch_array($query);
$parent = $result['Parent'];
$product_path = $result['CategoryName'] . ">" . $result['ProductName'];
while ($parent != 0) {
$parent_query = mysql_query("SELECT parent, nameofcategory FROM category WHERE id = " . $parent);
$parent_result = mysql_fetch_array($parent_query);
$parent = $parent_result['parent'];
$product_path = $parent_result['nameofcategory'] . ">" . $product_path;
}

编辑:另外,我建议您将列名称更改为如下所示:

产品表 - 产品编号 - 姓名 - category_id类别表 - category_id - 姓名 - 图像 - parent_id

这将使两个表之间的链接更加明显。这将使构造 INNER JOIN 查询变得更容易和更明显。

所以在这种情况下,代码如下所示:

$query = mysql_query("SELECT c.parent_id Parent, p.name ProductName, c.name CategoryName FROM product p INNER JOIN category c ON p.category_id = c.category_id WHERE p.product_id = " . $your_product_id . " LIMIT 1");
$result = mysql_fetch_array($query);
$parent = $result['Parent'];
$product_path = $result['CategoryName'] . ">" . $result['ProductName'];
while ($parent != 0) {
$parent_query = mysql_query("SELECT parent_id, name FROM category WHERE category_id = " . $parent);
$parent_result = mysql_fetch_array($parent_query);
$parent = $parent_result['parent_id'];
$product_path = $parent_result['name'] . ">" . $product_path;
}

它的作用与上面的代码相同,但我认为它更简单。

关于php - Category>Sub category>Sub sub category>Sub sub subcategory>产品1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24840044/

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