弱鸡,你少定义一个字段 :familyId
一个族的familyId相同,首先 sql 把 familyId = "自己familyID" 结果全部返回
再在PHP中递归出结果,而不是在数据库中反复查找条件,网站都会卡死
比如数组$List 为 张氏家族 所有的列表(也就是张氏家族sql返回结果)
首先遍历一个名称列表,以ID为KEY :$namelist = array(1=>张三,2=>张四,3=>张五,4=>张六)
再遍历出一个父子关系列表:也以ID为KEY,父方ID为值:$flist = array(1=>2,2=>3,3=>4,4=>5)
$namelist = array(1=>'张三',2=>'张四',3=>'张五',4=>'张了',6=>"张飞",7=>"张六",9=>"张宝",12=>'张七',13=>'张角')$flist = array(1=>2,2=>3,3=>7,4=>9,7=>12,6=>13)
$res = array()
family(1, $flist, $res,$namelist)
var_dump($res)
public function family($id,$flist,&$res,&$namelist){
if($flist[$id]){
$res[] = $namelist[$flist[$id]]
family($flist[$id],$flist,$res,$namelist)
}
function get_category($id){$str=array()
//$sql = "select * from biao where id=$id"查询节点,自己写吧
$result = array('id'=>,'parent_id'=>)//查询结果一个数组格式
if($result){
$str = get_category($result['parent_id'])
$str[]=$result
}
return $str
}
}
调用get_category()就行了,$str第一个元素是节点本身,去掉就行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)