《PHP實戰:php實現面包屑導航例子分享》要點:
本文介紹了PHP實戰:php實現面包屑導航例子分享,希望對您有用。如果有疑問,可以聯系我們。
PHP學習本實例講解了php實現面包屑導航的辦法,面包屑導航在項目非常實用,在此處就寫一個這方面的實現.
PHP學習
PHP學習path表示所有的祖先id,fullpath表示所有的祖先id和本身id
PHP學習
--
-- 表的結構 `tp_likecate`
--
CREATE TABLE IF NOT EXISTS `tp_likecate` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`catename` varchar(24) NOT NULL,
`path` varchar(10) NOT NULL,
`fullpath` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
PHP學習數據
PHP學習
--
-- 轉存表中的數據 `tp_likecate`
--
INSERT INTO `tp_likecate` (`id`, `catename`, `path`, `fullpath`) VALUES
(1, '手機', '', ',1'),
(2, '功能手機', '1', '1,2'),
(3, '老人手機', '1,2', '1,2,3'),
(4, '兒童手機', '1,2', '1,2,4'),
(5, '智能手機', '1', '1,5'),
(6, 'android手機', '1,5', '1,5,6'),
(7, 'IOS手機', '1,5', '1,5,7'),
(8, 'WinPhoto手機', '1,5', '1,5,8');
PHP學習數據庫連接:
PHP學習
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_password = '';
$db_name = 'test';
$con = mysql_connect($db_host, $db_user, $db_password) or die(mysql_error());
mysql_select_db($db_name, $con) or die(mysql_error());
mysql_query('set names utf8') or die(mysql_error());
?>
PHP學習主函數:
PHP學習
function likecate($path='') {
// concat() 連接字段
$sql = "select id,catename,path, concat(path,',',id) as fullpath from tp_likecate order by fullpath asc";
$res = mysql_query($sql);
$result = array();
while($row=mysql_fetch_assoc($res)) {
$deep = count(explode(',', trim($row['fullpath'], ','))); // explode字符串轉換為數組 implode數組轉換為字符串
$row['catename'] = @str_repeat('??', $deep).'|--'.$row['catename'];
$result[] = $row;
}
return $result;
}
PHP學習輸出:
PHP學習
// 簡單輸出
$res = likecate();
echo "<select name='cate'>";
foreach($res as $key=>$val) {
echo "<option>{$val['catename']}</option>";
}
echo "</select>";
echo "<br />";
// 封裝辦法
function getPathCate($cateid) {
$sql = "select *,concat(path, ',',id) fullpath from tp_likecate where id = $cateid";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
$ids = $row['fullpath'];
$sql = "select * from tp_likecate where id in($ids) order by id asc";
$res = mysql_query($sql);
$result = array();
while($row = mysql_fetch_assoc($res)) {
$result[] = $row;
}
return $result;
}
// 加上了鏈接的參數
function displayCatePath($cateid,$link='cate.php?cid=') { // 也可以組裝
$res = getPathCate($cateid);
$str = '';
foreach($res as $k=>$v) {
$str.= "<a href='{$link}{$v['id']}'>{$v['catename']}</a> > ";
}
return $str;
}
echo displayCatePath(4);
PHP學習效果:
PHP學習
PHP學習以上就是php實現面包屑導航的詳細步驟,希望對大家學習php程序設計有所贊助.
歡迎參與《PHP實戰:php實現面包屑導航例子分享》討論,分享您的想法,維易PHP學院為您提供專業教程。