使用sql和php的导航栏
hi有两个数据库表: 类别(包含类别名称) 子类(包含子类别) 我试着为每只猫展示子猫 i、 e:使用sql和php的导航栏,php,sql,Php,Sql,hi有两个数据库表: 类别(包含类别名称) 子类(包含子类别) 我试着为每只猫展示子猫 i、 e: 第1类子类子类子类 子类第2类子类子类 猫子猫子猫 我正在使用这个查询,但它似乎不起作用。怎么办 $sql = mysql_query("SELECT category.dname AS dname, sub_cats.dname AS sdname FROM category LEFT JOIN sub_cats
- 第1类
- 子类
- 子类
- 子类
- 子类
- 第2类
$sql = mysql_query("SELECT category.dname AS dname, sub_cats.dname AS sdname
FROM category
LEFT JOIN sub_cats
ON category.id = sub_cats.catid
ORDER BY category.id");
while ($row = mysql_fetch_array($sql)) {
$cats .= '<li><a href="?'.$row['dname'].'">'.$row['dname'].'</a></li>
<li> - - - <a href="?'.$row['sdname'].'">'.$row['sdname'].'</a></li>';
}
$sql=mysql\u查询(“选择category.dname为dname,sub cats.dname作为sdname
从类别
左加入sub_猫
在category.id=sub_cats.catid上
按类别分类的订单(id);
while($row=mysql\u fetch\u数组($sql)){
$cats.='
- ';
}
尝试分离查询
$sql = mysql_query("SELECT category.dname AS dname
FROM `category`
ORDER BY category.id");
while ($row = mysql_fetch_array($sql)) {
$cats .= '<li><a href="?'.$row['dname'].'">'.$row['dname'].'</a></li>';
$sql2 = mysql_query("SELECT sub_cats.dname AS sdname
FROM `sub_cats`
WHERE sub_cats.catid = " . $row['id']);
while ($row2 = mysql_fetch_assoc($sql2)) {
$cats .= '<li> - - - <a href="?'.$row['sdname'].'">'.$row['sdname'].'</a></li>';
}
}
$sql=mysql\u查询(“选择category.dname作为dname
来自`类别`
按类别分类的订单(id);
while($row=mysql\u fetch\u数组($sql)){
$cats.='';
$sql2=mysql\u查询(“选择sub\u cats.dname作为sdname
来自sub_猫`
其中sub_cats.catid=“.$row['id');
而($row2=mysql\u fetch\u assoc($sql2)){
$cats.='- ';
}
}
这是使用当前查询进行打印的方式:
$cats .= '<ul>';
$currentCat = null;
while ( $row = mysql_fetch_array($sql) ) {
if( $row[ 'dname' ] !== $currentCat ) {
if( $currentCat !== null ) $cats .= '</ul>';
$currentCat = $row[ 'dname' ];
$cats .= '<li><a href="?'.$row['dname'].'">'.$row['dname'].'</a></li>';
$cats .= '<ul>';
}
$cats .= '<li><a href="?'.$row['sdname'].'">'.$row['sdname'].'</a></li>';
}
if( $currentCat !== null ) $cats .= '</ul>';
$cats .= '</ul>';
$cats.='';
$currentCat=null;
while($row=mysql\u fetch\u数组($sql)){
如果($row['dname'])!=$currentCat){
如果($currentCat!==null)$cats.='
';
$currentCat=$row['dname'];
$cats.='';
$cats.='ul>';
}
$cats.='';
}
如果($currentCat!==null)$cats.='';
$cats.='';
您需要使用{}
格式化您的代码和示例。它当前输出的是什么?当前输出:(它在每个子类别中显示类别名称)移动辅助设备---滚轮移动辅助设备---膝盖步行机移动辅助设备---拐杖移动辅助设备---步行机移动辅助设备---手杖