如何嵌套循环的函数?
我正在尝试创建一个函数来计算子类别的数量并计算其中的子类别。
<?php
function hier_data( $parent_category = 0, $category_count = 0 ) {
global $db_connect;
// Select query
$query = "
SELECT
*
FROM
" . DB_PFIX . "product_categories
WHERE
category_parent = '" . $parent_category . "'
";
// Return results
if( $results = mysqli_query( $db_connect, $query ) ) {
while( $result = mysqli_fetch_assoc( $results ) ) {
$category_count = $category_count + 1;
$category_count = hier_data( $result["category_id"], $category_count );
}
}
return $category_count;
}
?>
注意:只有当我在查询结果下删除while循环中的行hier_data( $result["category_id"], $category_count );
时,该函数才能计算一个子类别。但是我不能让函数循环自己来计算子类别子猫。
答案 0 :(得分:1)
您可以使用子查询或连接获取计数,但这意味着对每一行进行计数。因此,运行单独的查询可能是一个好主意,如:
"SELECT COUNT(*)," , category
FROM " . DB_PFIX . "product_categories
WHERE category_parent = '" . $parent_category . "'
GROUP BY category";