日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Php数组面包屑导航,PHP 导航提示(面包屑型轨迹)

發布時間:2025/4/16 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Php数组面包屑导航,PHP 导航提示(面包屑型轨迹) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導航提示(面包屑型軌跡)為Web用戶提供了方便、直觀的導航幫助,將用戶的當前位置分解為一個超鏈接路徑提供當前文檔中網站中相對位置的總攬。總體來說,更加優于瀏覽器本身提供的導航工具,而且能夠補充甚至替代一般網站的本地化菜單系統。

這里演示兩種不同的方法,第一種使用數組將難于處理的URL樹轉換為更加友好的用戶命名約定。這種實現對于創建對應基本靜態頁面的導航樹比較實用。第二種使用MySQL數據庫,為數據庫驅動的網站創建用戶友好的導航映射。最后將面包屑軌跡簡單地應用到 WordPress 模板的編寫中。

一、基于靜態數據創建面包屑型軌跡

實現思路:

使用$_SERVER[‘PHP_SELF’] 讀取文件的目錄樹。

將目錄樹各級轉換為數組。

創建一個關聯數組,用來為導航提供用戶友好的名字。

創建URL解析和映射函數create_crumbs()。將其存儲在全局網站頭文件中。

在需要導航提示的頁面執行create_crumbs() 函數。

[code=”php”]

function create_crumbs($crumb_site, $home_label, $crumb_labels) {

$crumb_trail = “$home_label“;

$crumb_tree = explode(‘/’, $_SERVER[‘PHP_SELF’]);

//explode()函數分割字符串到數組,這里以斜杠“/”作為分割

$crumb_path = $crumb_site.’/’;

for ($x = 1; $x < count($crumb_tree) - 1; $x++) {

$crumb_path .= $crumb_tree[$x].'/';

$crumb_trail .= ' > ‘ .$crumb_labels[$crumb_tree[$x]].’‘;

}

return $crumb_trail;

}

[/code]

保存為 “breadcrumbs.php”到相應目錄,這里方便示例保存到和測試頁面同一目錄下,即 /php/form/pmnp/mysql/ 下。接著創建3個輸入參數并執行函數:

[code=”php”]

include “breadcrumbs.php”;

$crumb_site = “http://localhost”;??//這里在本機測試,如果在另外服務器替換相應域名

$crumb_labels = array(

“php” => “PHP”,

“form” => “Recent Articles”,

“pmnp” => “Beginning PHP and MySQL 5”,

“mysql” => “MYSQL”

);

echo create_crumbs($crumb_site, “Home”, $crumb_labels);

[/code]

將此代碼保存執行即可得到如下面包屑型軌跡:

Home > PHP > Recent Articles > Beginning PHP and MySQL 5 > MYSQL

二、基于數據庫表數據創建面包屑型軌跡

考慮將 URL http://www.example.com/books/1590595521/ 轉換為如下面包屑型軌跡:

Home > IT > Beginning PHP and MySQL5

對于數據庫驅動的網站而言,用數組來處理存貯的動態信息雖然可行,但并不是最方便的方式。下面只是一個簡單的實現,將指定的ISBN號碼查詢出匹配的書名和所屬分類,輸出到導航位置。

以下 categories 表提供了書類別到 books 表中存儲的 書之間的一對多的映射。

[code=”sql”]

create table categories2 (

categoryID? TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(15) NOT NULL );

[/code]

表 books 用于存貯出版商的圖書信息:

[code=”sql”]

create table books (

bookID TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

categoryID TINYINT NOT NULL,

isbn VARCHAR(9) NOT NULL,

author VARCHAR(50) NOT NULL,

title VARCHAR(45) NOT NULL,

description VARCHAR(300) NOT NULL );

[/code]

在books表中插入數據:

[code=”sql”]

insert into books (categoryID,isbn,author,title,description)

values (‘2′,’159059552′,’Kevin’,’Beginning PHP and MySQL5′,’How to learn PHP and MySQ’);

[/code]

創建好數據庫后,現在編寫PHP代碼部分,以上省略了創建數據庫表時提供的數據庫名和用戶,需自行創建并調整PHP代碼連接數據庫部分。

[code=”php”]

function create_crumbs($siteURL, $categoryID, $categoryName, $title) {

$crumb = “Home > $categoryName > $title”;

print $crumb;

}

$siteURL = “Http://localhost”;

mysql_pconnect(“localhost”,”website”,”secret”);

mysql_select_db(“corporate”);

$isbn =”159059552″;

$result = mysql_query(“select b.categoryID,c.name,b.isbn,b.author,b.title,b.description from books b,categories c where b.isbn = $isbn and b.categoryID = c.categoryID”);

$row = mysql_fetch_assoc($result);

$categoryID = $row[“categoryID”];

$categoryName = $row[“name”];

$isbn = $row[“isbn”];

$authorID = $row[“author”];

$title = $row[“title”];

create_crumbs($siteURL, $categoryID, $categoryName, $title);

[/code]

直接在瀏覽器執行這個PHP文件即可得到效果。

向 WordPress 模板添加面包屑型軌跡

由于WordPress 有大量可用的函數,在其模板里實現面包屑型軌跡是一個很簡單的事情。只需要在 “single.php” 需要展示導航提示的位置添加下面代碼即可實現:

[code=”php”]

評論

Name*Email*Website

總結

以上是生活随笔為你收集整理的Php数组面包屑导航,PHP 导航提示(面包屑型轨迹)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。