色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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

我們要做一個商品的無限分類
首先數據庫字段為:
id ----------商品主鍵id
fid ---------- 商品父id
name ---------- 商品名
最后輸出的數組格式為
復制代碼 代碼如下:
<PRE class=php name="code"><PRE class=php name="code">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 name="code"><?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>

php技術利用php遞歸實現無限分類 格式化數組的詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 舞阳县| 龙山县| 嘉祥县| 壤塘县| 台中市| 衡东县| 大埔县| 来安县| 仙居县| 永济市| 乐平市| 建瓯市| 孙吴县| 肇东市| 西贡区| 安宁市| 清流县| 错那县| 壶关县| 南平市| 安西县| 固镇县| 巴塘县| 丹寨县| 西贡区| 买车| 赤峰市| 鞍山市| 葵青区| 乐山市| 札达县| 大足县| 广东省| 田阳县| 商都县| 临武县| 锦州市| 信丰县| 安化县| 甘谷县| 文登市|