1. 程式人生 > >【技術積累】樹形結構的循環查找實現案例1

【技術積累】樹形結構的循環查找實現案例1

解決 實現 return tom 所有 UNC custom ext lis

無限級服務端數據組織方案的實現,提供解決方案,其中數據庫查詢可替換為List的方式查找等其它方式。

function queryAllSubCustomers($cstId) {
$sqlA="SELECT ID, Name, ParentID FROM T_CustomerInfo WHERE ID = $cstId ";
$custList=Sql_Query($sqlA);
$AllCustInfs=array();

$result=array();
while(count($custList) > 0) {
    // 組建當前客戶列表,獲取所有id
    $countNum = count($custList);
    $subCustIds=" (";
    //print_r($custList);
    for ($i=0; $i<$countNum; $i++) {
        $custInf = $custList[$i];
        $node=array();
        $node[‘id‘]=$custInf[‘ID‘];
        $node[‘text‘]=$custInf[‘Name‘];
        array_push($AllCustInfs,$node);
        $subCustIds = $subCustIds.$custInf[‘ID‘]."," ;
    }

    $subCustIds = substr($subCustIds,0,-1).") ";
    // 查詢下級客戶
    $sql="SELECT ID, Name, ParentID FROM T_CustomerInfo WHERE ParentID <> 0 AND ParentID IN $subCustIds ";
    unset($subCustIds);
    unset($custList);
    $custList=Sql_Query($sql);
    //print_r($custList);
}
return $AllCustInfs;

}

【技術積累】樹形結構的循環查找實現案例1