1樓:匿名使用者
這是php靜態資料過早繫結的問題(即子類的all方法是從父類中繼承過來的,__class__常量過早的繫結成了父類名),解決這個問題:方法一:class all} class my extends all}//子類定義同名的方法(這其實就是覆蓋了父類的方法,讓__class__繫結為自己的類名)echo my::
all();
方法二:class all} class my extends all{}$my = new my();//非靜態呼叫是不存在過早繫結的情況的。echo $my->all();
這個可以看看php5.3.0版本之後的靜態遲繫結相關資訊(static關鍵字)
2樓:匿名使用者
這得看你分類結構是怎樣的
3樓:
這主要是資料表設計的問題:
設計cat表(分類表)
字段:id:分類id
cat_id:上級分類id
name:分類名
用一條sql就可以實現了:
select * from cat where cat_id = 1得到分類1下的子類。
php如何獲取父類下所有子類id
4樓:一騎當後
今天做專案時
抄遇到php如何獲取父類下所有子類id??,把**分享給大家。
複製****如下:
function getchildrenids ($sort_id)'";$query = $db->query($sql);
$result = $query->result_array();
if ($result)
}return $ids;}
5樓:
通過 get_declared_classes 獲取所有的類,
然後迴圈這個array,再通過 instance_of 檢測是否是你指定類的子類,然後push到乙個陣列中.
6樓:筱綠之夏
function recursion($res)//引數為id
return $res;
}echo $pid=recursion($_get['id']);
thinkphp 獲取一級分類下所有商品
7樓:涼念若櫻花妖嬈
可以這樣
$str = 'select id from tp_order_cat where parentid in (1,5,6)';//獲取所有的1,5,6的所有下級分類
$need_list = d('tp_order_cat')->where('parentid in (1,5,6)')->select();//獲取到的
$need_id_str = ''; //獲取需要的子類id
foreach($need_list as $val)
$need_id_str = join(',', $need_id);
$where = "catid in ($need_id_str)";
$products = $this->order_model->where($where)->order($order.' '.$method)->limit('5')->select();
8樓:℡媙の綺
1級和2級商品的關聯欄位呢?獲取半天傳參都沒用啊,where裡就乙個條件?明顯語句有問題,getlastsql(),用這個tp函式獲取一下編譯後的sql語句,然後輸出一下看看,就一目了然了。
php知道父類id查詢所有子類id,怎麼寫
function getallids id 樓主,可以參考這個文件http www.doc88.com p 989614539176.html裡面有php遞迴函式遍歷所有子分類id 查詢父節點的方法是 var obj document.getelementbyid a objparent obj.p...
linux環境下 php如何配置
育知同創教育 linux中配置mysql開發環境的方法 1 安裝mysql roupadd mysql 新增一個mysql組 useradd g mysql mysql 新增一個使用者到mysql組中 tar zxvf mysql 5.0.56.tar.gz cd mysql 5.0.56 cat ...
windows下php怎麼重啟apache
那個php 是給提問人的.估計他是要做黑 客方面的事情.不推薦這樣使用.如果是自己的主機.二進位制安裝開始選單或者右下角時間那裡有apache的關閉,啟動 功能的.如果要做一鍵重啟可以直接做個批處理檔案.如.restart apache.bat 內容 echo off net stop apache...