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

首頁 > 開發 > PHP > 正文

php+mysql實現無限級分類

2024-05-04 23:40:17
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php+mysql實現無限級分類,一個php項目需要用到分類,動手制作了一個php無限極分類,感興趣的小伙伴們可以參考一下
 

項目思路分析:一個PHP項目要用到分類,但不確定分幾級,所以就想做成無限級分類。
一開始想是按以前一樣,數據庫建4個值,如下:
id: 自增   |   pid: 父類ID   |  xid: 排序ID   |  classname: 分類名稱
后來想到這種在讀取數據時和修改時比較不方便,而且在產品讀取時尤其不便,于時改成了以下的方案:
在Mysql的表中新增了一個字段,現數據庫如下:
表名 w_faqclass:   id: 自增   |   pid: 父類ID   |  xid: 排序ID   |  classname: 分類名稱  |  rank:  等級
定義:
一級分類,pid 為 0 ,rank 為"/"
二級分類,pid 為 一級分類的id,rank 為"/一級分類的id/"
三級分類,pid 為 二級分類的id,rank 為"/一級分類的id/二級分類的id/"
依此類推...
1. 基礎函數     
 

  1. /* 
  2. 利于遞歸返回已經進行了排序的無限級分類的數組 
  3. 不想用遞歸的話也可以用 like 來獲取后再進行排序,我比較懶,就不寫那種獲取方式了,其實用 like 更好,推薦用那種方式 
  4. $datatable    : 數據表名 
  5. $startid    : 開始父類ID 
  6. $wheretColumns  :父類列名 
  7. $xColumns    : 排序列名 
  8. $xtype      : 排序方式 
  9. $returnArr    : 返回數組 
  10. */ 
  11. function ReadClass($datatable,$startid,$xtype,$returnArr){ 
  12.   $db    =  $datatable; 
  13.   $sid  =  $startid; 
  14.   $xtype  =  $xtype; 
  15.   $lu    =  $returnArr; 
  16.     
  17.   $sql  =  "select * from `".$db."` where `pid`='".$sid."' order by xid ".$xtype.";"
  18.   $cresult=  mysql_query($sql); 
  19.   if(mysql_num_rows($cresult)>0){ 
  20.     while($rs = mysql_fetch_array($cresult)){ 
  21.       $lunum = count($lu); 
  22.       $lu[$lunum]['id']    =  $rs['id']; 
  23.       $lu[$lunum]['pid']    =  $rs['pid']; 
  24.       $lu[$lunum]['rank']    =  $rs['rank']; 
  25.       $lu[$lunum]['classname']=  $rs['classname']; 
  26.       $lu[$lunum]['xid']    =  $rs['xid']; 
  27.         
  28.       $lu            =  ReadClass($db,$rs['id'],$xtype,$lu); 
  29.     } 
  30.   } 
  31.   return $lu; 
  32. /* 
  33. 查詢某表中的某個值,只會返回一個值 
  34. $datatable    : 數據表名 
  35. $wherevalue    : 條件值 
  36. $selectColumns  : 查詢列名 
  37. $whereColumns  : 條件列 
  38. */ 
  39. function SelectValue($datatable,$wherevalue,$selectColumns,$whereColumns){ 
  40.   $sql  =  "select `".$selectColumns."` from `".$datatable."` where `".$whereColumns."`='".$wherevalue."';"
  41.   $result  =  mysql_query($sql); 
  42.   while($rs = mysql_fetch_array($result)){ 
  43.     return $rs[$selectColumns]; 
  44.   } 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河源市| 辽源市| 扬州市| 民丰县| 普兰店市| 龙游县| 花莲县| 土默特左旗| 衡南县| 福州市| 体育| 磐石市| 临洮县| 郎溪县| 尖扎县| 天水市| 浏阳市| 繁峙县| 太康县| 宣城市| 霸州市| 辰溪县| 沙湾县| 伽师县| 贵州省| 祁阳县| 临夏市| 惠东县| 丹阳市| 永昌县| 丰城市| 西平县| 江华| 金华市| 临沭县| 昆山市| 金门县| 虞城县| 虹口区| 华阴市| 安多县|