PHP基于父级显示类别

时间:2013-12-05 11:01:47

标签: php

我现在已经和这个问题争斗了大约2个月,但我还是找不到解决办法。

我是PHP / MYSQL的新手,所以请保持轻松/耐心。

基本上,我有一个名为“browse.php”的页面 - 此页面有一个查询,它从表中选择*并列出AS A TREE类别。

我实际需要做的是列出父级为“0”的类别。

当点击其中一个类别时,它会带你到一个新页面(让我们调用这个页面browse2.php),然后只列出“CATID点击browse.php”的父级的类别

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>";

     ?>

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

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

SELECT * from categories_docs WHERE parent=0

在您的“子”页面中:

SELECT * from categories_docs WHERE parent=$parentID