《PHP實(shí)戰(zhàn):php實(shí)現(xiàn)面包屑導(dǎo)航例子分享》要點(diǎn):
本文介紹了PHP實(shí)戰(zhàn):php實(shí)現(xiàn)面包屑導(dǎo)航例子分享,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP學(xué)習(xí)本實(shí)例講解了php實(shí)現(xiàn)面包屑導(dǎo)航的辦法,面包屑導(dǎo)航在項(xiàng)目非常實(shí)用,在此處就寫一個(gè)這方面的實(shí)現(xiàn).
PHP學(xué)習(xí)
PHP學(xué)習(xí)path表示所有的祖先id,fullpath表示所有的祖先id和本身id
PHP學(xué)習(xí)
--
-- 表的結(jié)構(gòu) `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學(xué)習(xí)數(shù)據(jù)
PHP學(xué)習(xí)
--
-- 轉(zhuǎn)存表中的數(shù)據(jù) `tp_likecate`
--
INSERT INTO `tp_likecate` (`id`, `catename`, `path`, `fullpath`) VALUES
(1, '手機(jī)', '', ',1'),
(2, '功能手機(jī)', '1', '1,2'),
(3, '老人手機(jī)', '1,2', '1,2,3'),
(4, '兒童手機(jī)', '1,2', '1,2,4'),
(5, '智能手機(jī)', '1', '1,5'),
(6, 'android手機(jī)', '1,5', '1,5,6'),
(7, 'IOS手機(jī)', '1,5', '1,5,7'),
(8, 'WinPhoto手機(jī)', '1,5', '1,5,8');
PHP學(xué)習(xí)數(shù)據(jù)庫(kù)連接:
PHP學(xué)習(xí)
<?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學(xué)習(xí)主函數(shù):
PHP學(xué)習(xí)
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字符串轉(zhuǎn)換為數(shù)組 implode數(shù)組轉(zhuǎn)換為字符串
$row['catename'] = @str_repeat('??', $deep).'|--'.$row['catename'];
$result[] = $row;
}
return $result;
}
PHP學(xué)習(xí)輸出:
PHP學(xué)習(xí)
// 簡(jiǎn)單輸出
$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;
}
// 加上了鏈接的參數(shù)
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學(xué)習(xí)效果:
PHP學(xué)習(xí)
PHP學(xué)習(xí)以上就是php實(shí)現(xiàn)面包屑導(dǎo)航的詳細(xì)步驟,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所贊助.
歡迎參與《PHP實(shí)戰(zhàn):php實(shí)現(xiàn)面包屑導(dǎo)航例子分享》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/8211.html