PHP显示基于父级的类别


PHP to Display Categories based on parent

我已经与这个问题斗争了大约两个月,但我仍然没有找到解决方案。

我是PHP/MYSQL的新手,所以请耐心等待。

基本上,我有一个名为"browse.php"的页面——这个页面有一个查询,它从表中选择*并将类别列为树。

我实际需要它做的是ONLY列出父级为"0"的类别。

当点击其中一个类别时,它会带你进入一个新页面(让我们称之为browse2.php),然后只列出"点击browse.php上的CATID"的父级的类别

MYSQL-DB:

    CREATE TABLE `categories_docs` (
    `CATID` bigint(20) NOT NULL AUTO_INCREMENT,
    `name` varchar(120) NOT NULL DEFAULT '',
    `parent` bigint(20) NOT NULL DEFAULT '0',
     PRIMARY KEY (`CATID`),
     UNIQUE KEY `name` (`name`)
     ) ENGINE=MyISAM AUTO_INCREMENT=22 DEFAULT CHARSET=utf8

BROWSE.php:

   <?php
   error_reporting(E_ALL);
   ini_set('display_errors', '1');
   function display_children($parent) { 
       $result = mysql_query('SELECT * FROM categories_docs '. 
                        'WHERE parent="'.$parent.'";'); 
        // display each child 
        echo "<ul>";
        while ($row = mysql_fetch_array($result)) { 
            echo "<li class='child'><a href='browse2.php?cat=".$row['CATID']."'>".$row['name']."</a></li>"; 
        } 
        echo "</ul>";
    } 
    $result = mysql_query('SELECT * FROM categories_docs WHERE parent= 0'); 
    echo "<div id='cat_cont' >"; 
    while ($row = mysql_fetch_array($result)) {
        echo "<div class='parent' align='left'><a href='ads.php?cat=".$row['CATID']."' >".$row['name']."</a></div>";
    }
    echo "</div>";
     ?>

我真的很期待你们中的一位大师能够帮助我。

提前感谢!

首先,您应该真正使用PDO或mysqli命令,使用mysql查询现在并不是真正的"好做法"。

至于你的问题:仅用于获取您的父类别:

SELECT * from categories_docs WHERE parent=0

在您的"sub"页面中:

SELECT * from categories_docs WHERE parent=$parentID