Keine Lust extra dafür eine Tabelle zu erstellen, darum hab ich ein bisschen improvisiert:
<?php
$tree = array();
$row = array(1,-1,1,"p1",2,-1,2,"p2",3,-1,3,"p3",4,-1,4,"p4",5,2,1,"p2.1"
$c=0;
while($row[$c]) {
if(array_key_exists($row[$c+1],$tree)) $tree[$row[$c+1]-1][$row[$c+2]] = $row[$c+3];
else $tree[][0] = $row[$c+3];
$c+=4;
}
function tree($array,$index=0) {
foreach($array as $key => $value) {
if(is_array($value)) tree($value,1);
else echo (($key > 0)?"--":"-".$value."<br />";
}
}
tree($tree);
?>
Für dich müsst das denn so aussehen:
<?php
$tree = array();
$result = $db->query("SELECT pid,oid,title FROM table ORDER BY id ASC"
while($row = $db->fetch($result)) {
if(array_key_exists($row['pid'],$tree)) $tree[$row['pid']-1][$row['oid']] = $row['title'];
else $tree[][0] = $row['title'];
}
function tree($array,$index=0) {
foreach($array as $key => $value) {
if(is_array($value)) tree($value,1);
else echo (($key > 0)?"--":"-".$value."<br />";
}
}
tree($tree);
?>
edit: Hoffe
das ist für dich ein hierarchischer Baum.