我已经与这个问题斗争了大约两个月,但我仍然没有找到解决方案。
我是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