Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Opencart获取产品的父类别_Php_Opencart - Fatal编程技术网

Php Opencart获取产品的父类别

Php Opencart获取产品的父类别,php,opencart,Php,Opencart,如何将其转换为递归函数。这样就可以得到所选父id的所有类别的列表 public function getProductCategoryPath($product_id) { $query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' LIMIT 1"); if(

如何将其转换为递归函数。这样就可以得到所选父id的所有类别的列表

public function getProductCategoryPath($product_id) {
    $query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' LIMIT 1");

    if($query->row['category_id']){

        // Parent category
        $path = $query->row['category_id'];

        // Category parent 
        $query = $this->db->query("SELECT parent_id FROM " . DB_PREFIX . "category WHERE category_id = '" . $query->row['category_id'] . "' AND parent_id != 0");           
        if($query->num_rows){
            $path = $query->row['parent_id'] . "_" . $path;

            // Sub-category parent 
            $query = $this->db->query("SELECT parent_id FROM " . DB_PREFIX . "category WHERE category_id = '" . $query->row['parent_id'] . "' AND parent_id != 0");         
            if($query->num_rows){
                $path = $query->row['parent_id'] . "_" . $path;
            } 
        } 

        return $path;
    }

    return false;
}

我不太明白您想要打印什么,但是对于递归,您将在

public function getProductCategoryPath($product_id) {
$query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' LIMIT 1");

if($query->row['category_id']){

    // Parent category
    $path = $query->row['category_id'];

    // Category parent 
    $query = $this->db->query("SELECT parent_id FROM " . DB_PREFIX . "category WHERE category_id = '" . $query->row['category_id'] . "' AND parent_id != 0");           
    while($query->num_rows){
        $path = $query->row['parent_id'] . "_" . $path;

        // Sub-category parent 
        $query = $this->db->query("SELECT parent_id FROM " . DB_PREFIX . "category WHERE category_id = '" . $query->row['parent_id'] . "' AND parent_id != 0");    
    } 

    return $path;
}

return false;
}

我不太明白您想要打印什么,但是对于递归,您将在

public function getProductCategoryPath($product_id) {
$query = $this->db->query("SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' LIMIT 1");

if($query->row['category_id']){

    // Parent category
    $path = $query->row['category_id'];

    // Category parent 
    $query = $this->db->query("SELECT parent_id FROM " . DB_PREFIX . "category WHERE category_id = '" . $query->row['category_id'] . "' AND parent_id != 0");           
    while($query->num_rows){
        $path = $query->row['parent_id'] . "_" . $path;

        // Sub-category parent 
        $query = $this->db->query("SELECT parent_id FROM " . DB_PREFIX . "category WHERE category_id = '" . $query->row['parent_id'] . "' AND parent_id != 0");    
    } 

    return $path;
}

return false;
}