我目前有一张桌子,其中包括:
ID | pagetitle | parent
1 | Page 1 | 0
2 | Page 2 | 1
3 | Page 3 | 2
我正在尝试选择所有页面及其父页面标题。
目前我在 PHP 中循环遍历结果,获取那些有父母的页面的页面标题,它看起来很丑:
function showPageParent($pageid) {
do {
$result = mysql_query("SELECT parent FROM pages WHERE id=" . qt($pageid));
while($row = mysql_fetch_array($result)) {
$crumbs[] = $row['parent'];
$pageid1 = $row['parent'];
}
} while($pageid1!=0);
sort($crumbs);
foreach($crumbs as $crumb) {
$result = mysql_query("SELECT id,pagetitle FROM pages WHERE id=" . $crumb);
while($row = mysql_fetch_array($result)) {
$out .= $row['pagetitle'] . " > ";
}
}
if(count($crumbs) < 2) {
return showPageTitle($pageid);
} else {
return $out;
}
}
它可以工作,但它是非常旧的代码,我正在重写这个系统的很多内容,并且希望通过一次调用数据库来返回这样的东西来美化这个东西:
ID | pagetitle | parent-pagetitle
这可以使用内部选择吗?
编辑
我想指出,我不是 PHP 的原作者,我知道它写得不好:p