如何在php中创建子类别的infinte类别

时间:2015-03-26 20:56:21

标签: php categories

谁知道如何制作包含子类别的类别列表,如: 分类1子类别1.1子类别1.1.1子类别1.1.1.1 .... 我用3的循环做了一些这样的思考,但是在无限的情况下我觉得有点困难。 while(){while(while(){})}但只有3个子类别。

1 个答案:

答案 0 :(得分:1)

我对你的问题感到有些困惑。不确定下一个代码是否符合您的要求:它可以根据需要添加任意数量的子类别。将代码复制粘贴到名为 categories.php 的文件中,打开浏览器并使用 localhost / categories.php 运行它:

<?php
// RECURSIVE FUNCTION TO CREATE THE SUBCATEGORIES.
function display_category ( $i,$index ) {
echo "<ul>Category " . $index;
if ( $i > 1 )
//  { $index++;
    display_category( $i-1,++$index );
echo "  <li>Item</li>" .
     "</ul>";
}

session_start();
if ( ! IsSet( $_SESSION["level"] ) )
   $_SESSION["level"] = 1;

?>
<html>
  <head>
    <title>Jose Manuel Abarca Rodriguez</title>
  </head>
  <body>
<?php
// DISPLAY THE CATEGORIES AND SUBCATEGORIES.
display_category( $_SESSION["level"],1 );
?>
    <br/>
    <br/>
<!-- FORM TO ADD SUBCATEGORY. -->
    <form action="categories.php" method="post">
      <input type="text" name="flag" style="display:none" />
      <input type="submit" value="Add a subcategory" />
    </form>
  </body>
</html>
<?php
// COUNTER IS INCREASED ONLY IF SUBMIT BUTTON ("ADD A SUBCATEGORY") WAS PRESSED.
if ( IsSet( $_POST["flag"] ) )
     $_SESSION["level"] = $_SESSION["level"] + 1;
?>