欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實(shí)現(xiàn)面包屑導(dǎo)航例子分享

 更新時(shí)間:2015年12月19日 14:44:41   投稿:lijiao  
這篇文章主要為大家分享了php實(shí)現(xiàn)面包屑導(dǎo)航例子,感興趣的小伙伴們可以參考一下

本實(shí)例講解了php實(shí)現(xiàn)面包屑導(dǎo)航的方法,面包屑導(dǎo)航在項(xiàng)目非常實(shí)用,在此處就寫(xiě)一個(gè)這方面的實(shí)現(xiàn)。


path表示所有的祖先id,fullpath表示所有的祖先id和本身id

--
-- 表的結(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 ;

數(shù)據(jù)

--
-- 轉(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');

數(shù)據(jù)庫(kù)連接:

<?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());
?>

主函數(shù):

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('&nbsp;&nbsp;', $deep).'|--'.$row['catename'];
    $result[] = $row;
  }
  return $result;
}

輸出:

// 簡(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實(shí)現(xiàn)面包屑導(dǎo)航的詳細(xì)步驟,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 深入理解PHP中的count函數(shù)

    深入理解PHP中的count函數(shù)

    下面小編就為大家?guī)?lái)一篇深入理解PHP中的count函數(shù)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • PHP驗(yàn)證碼生成原理和實(shí)現(xiàn)

    PHP驗(yàn)證碼生成原理和實(shí)現(xiàn)

    驗(yàn)證碼在表單實(shí)現(xiàn)越來(lái)越多了,但是用js的寫(xiě)的驗(yàn)證碼,總覺(jué)得不方便,所以學(xué)習(xí)了下php實(shí)現(xiàn)的驗(yàn)證碼的原理和實(shí)現(xiàn),對(duì)驗(yàn)證碼生成原理相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • phpStudy2016 配置多個(gè)域名期間遇到的問(wèn)題小結(jié)

    phpStudy2016 配置多個(gè)域名期間遇到的問(wèn)題小結(jié)

    這篇文章主要介紹了phpStudy2016 配置多個(gè)域名期間遇到的問(wèn)題小結(jié),需要的朋友可以參考下
    2017-10-10
  • Laravel5.6框架使用CKEditor5相關(guān)配置詳解

    Laravel5.6框架使用CKEditor5相關(guān)配置詳解

    這篇文章主要介紹了Laravel5.6框架使用CKEditor5相關(guān)配置,結(jié)合實(shí)例形式詳細(xì)分析了Laravel5.6框架整合CKEditor5編輯器相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • php使用Session和文件統(tǒng)計(jì)在線人數(shù)

    php使用Session和文件統(tǒng)計(jì)在線人數(shù)

    這篇文章主要介紹了php使用Session和文件統(tǒng)計(jì)在線人數(shù),本文直接給出實(shí)例代碼,需要的朋友可以參考下
    2015-07-07
  • ThinkPHP實(shí)現(xiàn)支付寶接口功能實(shí)例

    ThinkPHP實(shí)現(xiàn)支付寶接口功能實(shí)例

    這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)支付寶接口功能的方法,實(shí)例講述了支付寶接口的下載及二次開(kāi)發(fā)方法,以及對(duì)應(yīng)的ThinkPHP開(kāi)發(fā)技巧,需要的朋友可以參考下
    2014-12-12
  • laravel 5.5 關(guān)閉token的3種實(shí)現(xiàn)方式

    laravel 5.5 關(guān)閉token的3種實(shí)現(xiàn)方式

    今天小編就為大家分享一篇laravel 5.5 關(guān)閉token的3種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • 如何使用純PHP實(shí)現(xiàn)定時(shí)器任務(wù)(Timer)

    如何使用純PHP實(shí)現(xiàn)定時(shí)器任務(wù)(Timer)

    本文主要介紹了如何使用純PHP實(shí)現(xiàn)純粹的定時(shí)器任務(wù),且能適應(yīng)認(rèn)識(shí)任務(wù)業(yè)務(wù)需求,需要的朋友可以參考下
    2015-07-07
  • zend framework重定向方法小結(jié)

    zend framework重定向方法小結(jié)

    這篇文章主要介紹了zend framework重定向方法,總結(jié)歸納了常用的zend framework重定向方法,非常簡(jiǎn)單易懂,需要的朋友可以參考下
    2016-05-05
  • Yii2框架中日志的使用方法分析

    Yii2框架中日志的使用方法分析

    這篇文章主要介紹了Yii2框架中日志的使用方法,對(duì)比Yii1.x分析Yii2日志操作的常用方法與相關(guān)使用技巧,需要的朋友可以參考下
    2017-05-05

最新評(píng)論