當前位置:首頁 » 編程語言 » php分類遞歸

php分類遞歸

發布時間: 2024-05-15 09:44:22

『壹』 php遞歸查詢不會,,求教。就是一個三級分類傳個ID找到他的上級,還有父級。。

這種類型的數據,一般資料庫中,一張表會有存在兩個欄位,一個是它本身id,另一個是它的父級parent_id。
既然要找到它的祖父級,sql語句這樣寫:
$id = empty($_POST['id'])?'':$_POST['id'];
$parent_id = get_parent_id($id);
$p_p_id = get_parent_id($parent_id);
function get_parent_id($id){
$sql = "select parent_id from ecs_table1 where id=" . $id;
return($GLOBALS['db']->getone($sql ));
}
遞歸,就是根據現有的id,重復取。
上面get_parent_id只是獲取父id,當然,你可以寫一個直接獲取祖父id的函數。
不過,現在大部分php網站,都只會有獲取父類的函數,想discuz,ecshop等。獲取祖父id,就是不斷的獲取該id的父id。

『貳』 急求PHP遞歸無限分類,當前位置寫法

<?php
$testArray = array();
function getSort($num,&$testArray){
$db = new mysqli("localhost","root","123456","test");
$sql = "select * from test where bid=".$num;
$result = $db->query($sql);
if($result){
$search = array();
while($row=$result->fetch_assoc()){
$testArray[] = $row['cloumnsname'];
$search[] = $row['id'];
}
foreach($search as $key=>$value){
getSort($value,$testArray);
}
}
}
$testArray[] = "首頁";
getSort(0,$testArray);
$test = implode(">",$testArray);
echo $test;
?>
有不懂的可以問我!

『叄』 PHP遞歸無限分類的 如何統計總條數 以及對顯示的結果進行分頁比如設置為每頁顯示10個 。

每個節點都要記錄子節點的數量c。每新增一個節點都要對各父和祖節點的子節點計數加1。這樣根節點會有總數的記錄。
這樣遞歸遍歷時也可以根據子節點數量c的來確定讀取的數量限制。比如 讀取條數計數<10 就繼續遞歸
在每個節點的表上 增加子節點的id集或計數,增加根節點到父節點路徑,會方便這些操作。

『肆』 php遞歸無限極分類怎麼弄

給個函數你,調用get_category()就是一個數組格式的結果
function get_category($parent_id=0){
$arr=array();
$sql = "select * from category where parent_id=$parent_id";//查詢子級數據
$result = array(a_object,b_object,,,)=sql_query($sql);//查詢結果一個數組或列表格式,自己完善。
if($result){
foreach($result as $re){//循環數組
if(get_category($re.id))//如果子級不為空
$re['child'] = get_category($re.id);
$arr[] = $re;
}
return $arr;
}

『伍』 thinkphp鐢ㄩ掑綊鎬庝箞瀹炵幇鏃犻檺鍒嗙被

閫掑綊鍑芥暟鍗充負鑷璋冪敤鍑芥暟錛屽湪鍑芥暟浣撳唴鐩存帴鎴栭棿鎺ヨ嚜宸辮皟鐢ㄨ嚜宸憋紝浣嗛渶瑕佽劇疆鑷璋冪敤鐨勬潯浠訛紝鑻ユ弧瓚蟲潯浠訛紝鍒欒皟鐢ㄥ嚱鏁版湰韜錛岃嫢涓嶆弧瓚沖垯緇堟㈡湰鍑芥暟鐨勮嚜璋冪敤錛岀劧鍚庢妸鐩鍓嶆祦紼嬬殑涓繪帶鏉冧氦鍥炵粰涓婁竴灞傚嚱鏁版潵鎵ц岋紝鍙鑳借繖鏍風粰澶у惰茶В錛岃繕鏄寰堥毦鏄庣櫧銆

鎬濊礬錛

鍏堝緩絝嬪瑰簲鐨勬暟鎹搴撳拰琛錛

『陸』 PHP怎麼遞歸

下面我舉一個其他的例子,雖然不是族譜,但是原理都是一樣的。

在一些復雜的系統中,要求對信息欄目進行無限級的分類,以增強系統的靈活性。那麼PHP是如何實現無限級分類的呢?我們在本文中使用遞歸演算法並結合mysql數據表實現無限級分類。
遞歸,簡單的說就是一段程序代碼的重復調用,當把代碼寫到一個自定義函數中,將參數等變數保存,函數中重復調用函數,直到達到某個條件才跳出,返回相應的數據。
Mysql
首先我們准備一張數據表class,記錄商品分類信息。表中有三個欄位,id:分類編號,主鍵自增長;title:分類名稱;pid:所屬上級分類id。
class表結構:

CREATE TABLE IF NOT EXISTS `class` (
`id` mediumint(6) NOT NULL AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
`pid` mediumint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

插入數據後,如圖:

如果要輸出json格式的數據,則可使用:

echo json_encode($list);

熱點內容
安卓平板有什麼可以畫對稱的 發布:2024-07-27 09:36:03 瀏覽:132
羊創意腳本 發布:2024-07-27 09:29:30 瀏覽:894
榮耀v20升級存儲 發布:2024-07-27 09:20:19 瀏覽:485
安卓用什麼和電腦傳圖片 發布:2024-07-27 09:02:07 瀏覽:288
存儲過程就是 發布:2024-07-27 08:56:51 瀏覽:131
c語言高級試題 發布:2024-07-27 08:48:30 瀏覽:282
ip伺服器世界上有幾台 發布:2024-07-27 08:46:18 瀏覽:394
金立手機怎麼清理緩存 發布:2024-07-27 08:38:50 瀏覽:311
iphone文件夾不顯示 發布:2024-07-27 08:18:05 瀏覽:774
y510p固態硬碟做緩存 發布:2024-07-27 07:59:34 瀏覽:128