先前已经同问过,我没说清楚,重新求助下,谢谢~!
我想实现以下效果:html代码是:
循环开始
<li>
<h1>顶级分类名1</h1>
<a>子分类名称</a>
...
<h2>顶级分类名2</h2>
<a>子分类名称</a>
...
</li>
循环结束数据库字段:
id【顶级分类ID】pid【子分类ID】name【名称】
当id=0时来判断为顶级分类 当pid=id时为id的子分类
PHP代码: $toplist = array();
$query = mysql_query("SELECT name,id,pid FROM nav WHERE pid = 0 ORDER BY id ASC LIMIT 0 , 8");
while ($top = mysql_fetch($query)) {
$topname = $top['name'];
if ($top = mysql_fetch($query)) {
$top['subject'] = $topname;
$top['subject2'] = $top['name'];
}
$toplist[] = $top;
};
//这段用来查询顶级名称
那么顶级分类下的子分类怎么写?
请给个具体代码好吗?非常感谢~!
我想实现以下效果:html代码是:
循环开始
<li>
<h1>顶级分类名1</h1>
<a>子分类名称</a>
...
<h2>顶级分类名2</h2>
<a>子分类名称</a>
...
</li>
循环结束数据库字段:
id【顶级分类ID】pid【子分类ID】name【名称】
当id=0时来判断为顶级分类 当pid=id时为id的子分类
PHP代码: $toplist = array();
$query = mysql_query("SELECT name,id,pid FROM nav WHERE pid = 0 ORDER BY id ASC LIMIT 0 , 8");
while ($top = mysql_fetch($query)) {
$topname = $top['name'];
if ($top = mysql_fetch($query)) {
$top['subject'] = $topname;
$top['subject2'] = $top['name'];
}
$toplist[] = $top;
};
//这段用来查询顶级名称
那么顶级分类下的子分类怎么写?
请给个具体代码好吗?非常感谢~!
你说错了吧~~我看你下面写的sql,应该是当pid为0时来判断顶级分类!
至于你要的sql应该写成
$query = mysql_query("SELECT name,id,pid FROM nav WHERE pid = 0 ORDER BY id ASC LIMIT 0 , 8");
while ($top = mysql_fetch($query)) {
.................
.................//原先的代码
$singsql = "select * from nav where id=$top['id'] and pid<>0";
while($child = mysql_fetch(mysql_query($singsql))){
.........
.........//输出子菜单
}
}
$top['titlse'] = $child['name'];
}
$toplist[] = $top;
调用不出子分类名呀
list-style:none;?
关键点~
$topnavlist = array();
$query = $db->query("SELECT * FROM nav WHERE parentid =0 ORDER BY order ASC LIMIT 0 , 8");
while($topnav = $db->fetch($query))
{
$pid =$topnav['id'];
$SubQuery = $db->query("SELECT * FROM nav where parentid=".$topnav['id']." ORDER BY order ASC LIMIT 0 , 3");
while($sqs = $db->fetch($SubQuery))
{
$topnav['b']=$topnav['name'];
$topnav['a']=$sqs['name'];
}
$topnavlist[] = $topnav;
}现在调用出来的效果是一个大分类下只显示了一个子分类。
请问要让一个大分类下显示3个子分类怎么弄?能给我代码就最好了,非常感谢~!