このセクションでは、同様のリンク ナビゲーション スタイルを作成します
例: [写真]>>[車の写真]>>メルセデス ベンツの写真>>メルセデス ベンツ C260 の写真。
データベースとテーブルの作成については前の章で説明されているため、このセクションでは詳しく説明しません
考え方は基本的に前の章のドロップダウン メニューと同じです:
getCatePath 関数を作成します。 SQL ステートメントを実行して ID をクエリし、クエリされた ID を介して別の ID 値を入力して、さまざまな数のナビゲーションを表示できます。
krsort 関数を使用して出力を反転するには、カスタム関数 getCatePath を使用します。
<?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 ?>