0
這個問題有兩個部分。對任何一個部分的答案將是偉大的:Dphp mysql查詢查詢:D
1)我使用一個表來存儲另一個表的值之間的鏈接。然後我通過該表查找繼承列表。
while($cont) {
$rst = DB::query("SELECT parentID FROM code_inheritance WHERE childID=".$sid);
if($rst->num_rows != 0) {
$ob = $rst->fetch_object();
if($list != '') $list .= ',';
$list .= $ob->parentID;
$sid = $ob->parentID;
} else $cont = false;
}
DB是我的數據庫類。但是,這不是一種搜索數據庫的非常有效的方法。任何人都可以指出我可以在一個數據庫查詢中做到這一點的方向嗎?
2)然後,我使用列表來搜索類的名稱,以便我可以在屏幕上回顯繼承列表,但是它們以ID數字順序返回,我希望它們按照它們被發現的順序部分1.我目前這樣做:
if($list != '') {
$rst = DB::query("SELECT Name FROM code WHERE ID IN ($list)");
$list = '';
while($ob = $rst->fetch_object()) {
echo $ob->Name;
if($list != '') $list .= ' -> ';
$list .= '<a href="/code/'.$ob->Name.'/">'.$ob->Name.'</a>';
}
$list = "Inheritance -> ".$list;
}
我怎樣才能然後在順序列表中我發現他們在第一部分中,這樣的繼承樹是按照正確的順序?
對不起,這是有點冗長,但我想增加儘可能多的信息,我可以。
我會試圖用涉及的數據庫模式信息更新您的問題 - 您應該能夠將上述內容合併爲一個查詢。 – 2011-01-23 14:12:55