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
?>


##

繼續學習
||
<?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); ?>