PHP无限级分类之导航LINK样式
实现原理图

导航LINK样式:
<?php
include('conn.php');
function getCatePath($cid, &$result = array()) {
$sql = "SELECT * FROM deepcate WHERE id=$cid";
$rs = mysql_query($sql);
$row = mysql_fetch_assoc($rs);
if ($row) {
$result[] = $row;
getCatePath($row['pid'], $result);
}
krsort($result); //krsort对数组按键名逆向
return $result;
}
?>代码解释:
同下拉样式相同,创建getCatePath函数,执行sql语句查询id,并把取得的付给$rs.使用mysql_fetch_assoc来获取数组,调用自身getCatePath把pid和自身的id进行查询。
返回$result,使用逆向的方式对数组进行排序。
然后继续进行美化,封装起来。
<?php
include('conn.php');
function getCatePath($cid, &$result = array()) {
$sql = "SELECT * FROM deepcate WHERE id=$cid";
$rs = mysql_query($sql);
$row = mysql_fetch_assoc($rs);
if ($row) {
$result[] = $row;
getCatePath($row['pid'], $result);
}
krsort($result); //krsort对数组按键名逆向
return $result;
}
function displayCatePath($cid,$url='cate.php?cid=') {
$res = getCatePath($cid);
$str = '';
foreach ($res as $key => $val) {
$str.= "<a href={$url}{$val['id']}>{$val['catename']}</a>>";
}
return $str;
}
echo displayCatePath(10);
?>这样,无限级分类的LINK样式就完成了。
本章难点
1.link样式是从父节点开始,向下寻找其子孙节点,而形成的一个树状图形,link样式判断的是当前节点的pid与上一个节点的id相等.

葫芦
学到了 ,感谢PHP中文网
7年前 添加回复 2