递归函数类别数据库 [英] recursive function category database

查看:51
本文介绍了递归函数类别数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望创建一个我还没有想法的递归函数

i hoping to create a recursive function which i don't have an idea yet

这是我的代码,用于从数据库中获取类别

this is my code to fetch category from database

  <?php
  $sql = mysql_query("SELECT * FROM categories WHERE category_parent = '1' ORDER BY lft ASC");
  while($row = mysql_fetch_array($sql)) {
  echo "<li><a href='/{$row['category_safe_name']}/'>{$row['category_name']}</a>";
  $sql2 = mysql_query("SELECT * FROM categories WHERE category_parent = '{$row['category_id']}'");
  if(mysql_num_rows($sql2) > 0)
  echo "<ul>";
  while($row2 = mysql_fetch_array($sql2)) {
  echo "<li><a href='/{$row2['category_safe_name']}/'>{$row2['category_name']}</a><li>";
  }
  if(mysql_num_rows($sql2) > 0)
  echo "</ul>";
  echo "</li>";
  }
  ?>

当前看起来像

Top Category (category_id = 1)
   Category
       Sub Category

我的代码适用于&子类别.我打算做的是使我的代码支持无限的子类别

My code works for category & subcategory. What i'm planning to do is to make my code to support unlimited subcategories

欢迎任何帮助和建议.

谢谢

推荐答案

我会做:

<?php
function getChildren($id=1) {
  $sql = mysql_query("SELECT * FROM categories WHERE category_parent = '$id' ORDER BY lft ASC");
  echo "<ul>";
  while($row = mysql_fetch_array($sql)) {
    echo "<li><a href='/{$row['category_safe_name']}/'>{$row['category_name']}</a>";
    getChildren($row['category_id']);
    echo "</li>";
  }
  echo "</ul>";
}

getChildren();
?>

这篇关于递归函数类别数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆