国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

利用php遞歸實現無限分類 格式化數組的詳解

2024-05-04 23:10:28
字體:
來源:轉載
供稿:網友
我們要做一個商品的無限分類
首先數據庫字段為:
id ----------商品主鍵id
fid ---------- 商品父id
name ---------- 商品名
最后輸出的數組格式為

復制代碼 代碼如下:


<PRE class=php><PRE class=php>array(
0=>array(
'id'=>1,
'fid'=>0,
'name'=>'法國貨'
'child'=>array(
0=>array(
'id'=>12,
'fid'=>1,
'name'=>'香水'
'child'=>array(
0=>array(
'id'=>34,
'fid'=>12,
'name'=>'女用香水'
)
)
),
1=>array(
'id'=>13,
'fid'=>1,
'name'=>'筆記本'
'child'=>NUll
)
)
),
1=>array(), //格式同上我就不再重復寫了 沒什么意義
2=>array()
)</PRE><BR>
<PRE></PRE>
<PRE></PRE>
php代碼:
<P></P>
<P></P>
<PRE class=php><?php
//數據庫我用的mysql PDO 但是整個思路又是一樣的
$conn=mysql_connect('localhost','root','123');
if(mysql_errno()){
printf('連接失敗'.mysql_error());
}
mysql_select_db('edeng');
mysql_set_charset('utf8');
/*
*遞歸函數
*@param id 要查詢fid=$id的所有子類 這里將$id的默認值為設為0 是因為我在數據庫中將最頂層的類別的fid設置為0
*/
function get_array($id=0){
$sql="select id,fid,cname from e_cat where fid= $id";
$result=mysql_query($sql);
$arr=array();
if($result && mysql_affected_rows()){
while($rows=mysql_fetch_assoc($result)){

$rows['child']=get_array($rows['id']);
$arr[] = $rows;
}
return $arr;
}
}
echo '<pre>';
$result = get_array();
print_r($result);
</PRE><BR>
<BR>
<P></P>
<P> </P>
<P>函數首先查詢出所有fid為0的類</P>
<P>通過while逐個循環進行回調查找fid為當前類的id的子類</P>
<P><BR>
</P>
<P><BR>
</P>
<BR>
<BR>
<PRE></PRE>
</PRE>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 綦江县| 古田县| 襄垣县| 富蕴县| 伊通| 无为县| 周至县| 福泉市| 鹤峰县| 上虞市| 婺源县| 万全县| 重庆市| 凌海市| 万安县| 葵青区| 怀安县| 高碑店市| 蓬莱市| 宝山区| 耿马| 湘潭县| 景谷| 永丰县| 都兰县| 嘉定区| 海林市| 望城县| 丹江口市| 平昌县| 家居| 阿拉善左旗| 运城市| 广昌县| 安义县| 城市| 方正县| 福泉市| 玛纳斯县| 沭阳县| 永定县|