如何在php项目中实现一个面包屑导航功能

  介绍

如何在php项目中实现一个面包屑导航功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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

—   ——表的结构的tp_likecate   --      创建表如果不存在“tp_likecate”(   “id”int(10)无符号不是零AUTO_INCREMENT,   catename varchar(24)非空,   “路径”varchar(10)不是NULL,   ' fullpath varchar(20)非空,   主键(“id”)   )引擎=InnoDB的默认字符集=utf8 AUTO_INCREMENT=9;

数据

—   ——转存表中的数据“tp_likecate”   --      插入“tp_likecate”(“id”,“catename”、“路径”,' fullpath ')值   (& # 39;手机& # 39;,& # 39;& # 39;,& # 39;,1 & # 39;),   (2 & # 39;功能手机& # 39;,& # 39;1 & # 39;,& # 39;1,2 & # 39;),   (& # 39;老人手机& # 39;,& # 39;1,2 & # 39;,& # 39;1,2,3 & # 39;),   (4日& # 39;儿童手机& # 39;,& # 39;1,2 & # 39;,& # 39;1,2,4 & # 39;),   (5日& # 39;智能手机& # 39;,& # 39;1 & # 39;,& # 39;1、5 & # 39;),   (6日& # 39;安卓手机& # 39;,& # 39;1、5 & # 39;,& # 39;1、5、6 & # 39;),   (7日& # 39;IOS手机& # 39;,& # 39;1、5 & # 39;,& # 39;1、5、7 & # 39;),   (8 & # 39;WinPhoto手机& # 39;,& # 39;1、5 & # 39;,& # 39;1、5、8 & # 39;);

数据库连接:

& lt;及# 63;php   $ db_host=& # 39; localhost # 39;;   $ db_user=& # 39;根# 39;;   $ db_password=& # 39; & # 39;;   db_name美元=& # 39;测试# 39;;   反对美元=mysql_connect ($ db_host db_user美元db_password美元)或死亡(mysql_error ());   mysql_select_db (db_name,反对美元)或死亡(mysql_error ());   mysql_query (use utf8 # 39; & # 39;集名称)或死亡(mysql_error ());   ,# 63;在

主函数:

函数likecate ($ path=& # 39; & # 39;) {//concat()连接字段
  $ sql=把≡駃d、catename路径,concat(路径,& # 39;& # 39;,id)从tp_likecate fullpath order by fullpath asc";
  美元$ res=mysql_query (sql);
  $=结果数组();
  而($行=作用(res)美元){
  $深=count(爆炸(& # 39;& # 39;削减(美元行[& # 39;fullpath& # 39;], & # 39;, & # 39;)));//爆炸字符串转换为数组内爆数组转换为字符串
  $行[& # 39;catename& # 39;]=@str_repeat(& # 39;,,,, & # 39;,深美元)# 39;公司|——& # 39;。美元行[& # 39;catename& # 39;];
  结果[]=美元行;
  }
  返回结果美元;
  }

输出:

//简单输出
  $ res=likecate ();
  
  回声“& lt;选择name=& # 39;美食# 39;在“;
  foreach (res关键=祝辞;美元美元val) {
  回声“& lt; option> {$ val [& # 39; catename& # 39;]} & lt;/option>“;
  }
  回声“& lt;/select>“;
  和“回声“& lt; br/;;//封装方法
  函数getPathCate (cateid美元){
  $ sql=皊elect *, concat(路径,& # 39;& # 39;,id)从tp_likecate fullpath id=$ cateid";
  美元$ res=mysql_query (sql);
  行美元=作用(res);
  $ id=$ row [& # 39; fullpath& # 39;];
  $ sql=皊elect *从tp_likecate id (ids)美元订单的id asc";
  美元$ res=mysql_query (sql);
  $=结果数组();
  而($行=作用(res)美元){
  结果[]=美元行;
  }
  返回结果美元;
  }//加上了链接的参数
  函数displayCatePath (cateid,链接=& # 39;美元cate.php& # 63; cid=& # 39;){//也可以组装
  (res=getPathCate美元cateid);
  $ str=& # 39; & # 39;;
  foreach (res k=祝辞美元美元v) {
  str美元。”=?& lt; a href=https://www.yisu.com/zixun/{$链接}{$ v (“id”)}’> {$ v (' catename ']} ”;
  }
  返回str美元;
  }
  回声displayCatePath (4), 

如何在php项目中实现一个面包屑导航功能