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