我的代码有问题。无论您是查看父页面还是子页面,显示父页面的所有子页面的最佳方式是什么?如果选择了不同的父级,则应隐藏先前选择的父级的子页面。
所有页面在 URL 中都有一个可用的 id,可使用 $_GET['id']。
我的 MYSQL DB 看起来像这样。
CREATE TABLE IF NOT EXISTS `pages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`parent` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8;
使用我目前的代码,如果您在父页面上,子页面会显示,但是一旦您跳转到任何子页面,子页面就会消失。
$gParents = mysql_query('SELECT * FROM db.pages WHERE parent = 0');
while($parents = mysql_fetch_assoc($gParents))
{
echo '<a href="?id='.$parents['id'].'">'.$parents['title'].'</a><br />';
$qChilds = mysql_query('SELECT * FROM db.pages WHERE parent = '.$parents['id'].' AND parent = '.$_GET['id']);
while($childs = mysql_fetch_assoc($qChilds))
{
echo '<a href="?id='.$childs['id'].'">'.$childs['title'].'</a><br />';
}
}