本节我们将创建一个类似连接导航样式
例如: 图片>>汽车图片>>奔驰图片>>奔驰C260图片。
创建数据库和表前面的章节已经讲解,本节就不在具体说明
思路基本与前章节的下来菜单相同:
创建getCatePath函数,执行SQL语句查询id,通过查询出的id, 可以通过输入不同的id值来显示不同数量的导航。
通过自定义函数getCatePath用krsort函数逆向输出。
<?php function getCatePath($cid, &$result = array()) { global $link; $sql="SELECT * FROM class where id = $cid"; $rs = mysqli_query($link,$sql); $row = mysqli_fetch_assoc($rs); if ($row) { $result[] = $row; getCatePath($row['pid'], $result); } krsort($result); //krsort对数组按键名逆向 return $result; } ?>
通过创建displayCatePath函数,用foreach循环输出并加上“>>”样式
<?php header("content-type:text/html;charset=utf8"); $link = mysqli_connect('localhost','username','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("连接失败:".mysqli_connect_error()); } function getCatePath($cid, &$result = array()) { global $link; $sql="SELECT * FROM class where id = $cid"; $rs = mysqli_query($link,$sql); $row = mysqli_fetch_assoc($rs); if ($row) { $result[] = $row; getCatePath($row['pid'], $result); } krsort($result); //krsort对数组按键名逆向 return $result; } function displayCatePath($cid,$url='fen.php?cid=') { //fen.php为当前执行程序的PHP页面 $res = getCatePath($cid); $str = ''; foreach ($res as $key => $val) { $str.= "<a href={$url}{$val['id']}>>{$val['title']}</a>>"; } return $str; } echo displayCatePath(7); //输出当前的id为7 ?>