PHP開發分類技術之連結導航樣式分類
本節我們將建立一個類似連線導航樣式
例如: 圖片>>汽車圖片>>賓士圖片>>賓士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 ?>
##