Hola a todos
 
Quiero organizar unas categorias como lo maneja wordpress donde tenga una jerarquia. actualmente tengo las siguientes tablas: 
categorias
ID / Nombre / Descripcion / Estado 
categorias_relacion
ID / principal / secundaria 
Para tener una relacion de cada categoria con cada una, en la tabla categorias_relacion indico los Id  para saber a donde pertenece cada uno.  
la idea de esto es podar visualizar todas las categorias que desee sin problema alguno, el codigo que tengo actulamente es:  
 Código PHP:
   
$i=0;
$sql2="SELECT * FROM categoria_relacion ORDER BY principal ASC";
$res2=mysql_query($sql2);
 
while($row=mysql_fetch_assoc($res2) ){
$prin=$row['principal'];
 
$sql4="SELECT * FROM categoria WHERE estado=1 AND ID=$prin ORDER BY Nombre ASC";
$res4=mysql_query($sql4);
while($row=mysql_fetch_assoc($res4) ){
$id=$row['ID'];
$nombre=$row['Nombre'];
$descri=$row['descripcion'];
$estado=$row['estado'];
$conteo=0;
 
$i++;
if (($i%2)==0) {
$class="even";
}
else{
    $class="odd";
}
 
 
echo '<tr class="'.$class.'">
    <td>'.$nombre.' // '.$prin.'</td>
    <td>'.$descri.'</td>
    <td>'.$conteo.'</td>'; ?>
    <td>
<form  action="<?php echo $_SERVER['PHP_SELF']; ?>" name="edit" method="post">
<input name="editar" title="Editar" type="image" src='<? echo $url; ?>imagenes/edit.png' value="<? echo $num; ?>" />
<input type="hidden" name="num" value="<? echo $num;?>" />
<input type="hidden" name="editar"/>
</form>
</td>
 
</tr>
<?
 
$sql="SELECT * FROM categoria_relacion WHERE principal=$id ORDER BY secundaria ASC";
$res=mysql_query($sql);
 
while($row=mysql_fetch_assoc($res) ){
$prin=$row['principal'];
$sec=$row['secundaria'];
 
 
$sql1="SELECT * FROM categoria WHERE estado=1 AND ID=$sec ORDER BY Nombre ASC";
$res1=mysql_query($sql1);
while($row=mysql_fetch_assoc($res1) ){
$id=$row['ID'];
$nombre=$row['Nombre'];
$descri=$row['descripcion'];
$estado=$row['estado'];
$conteo=0;
 
 
 
echo '<tr class="'.$class.'">
    <td> - '.$nombre.' / '.$prin.' - '.$sec.'</td>
    <td>'.$descri.'</td>
    <td>'.$conteo.'</td>'; ?>
    <td>
<form  action="<?php echo $_SERVER['PHP_SELF']; ?>" name="edit" method="post">
<input name="editar" title="Editar" type="image" src='<? echo $url; ?>imagenes/edit.png' value="<? echo $num; ?>" />
<input type="hidden" name="num" value="<? echo $num;?>" />
<input type="hidden" name="editar"/>
</form>
</td>
 
</tr>
 
<?
}
 
}
}
}
echo "Total resultados: <b>$i</b>";
?>    
  El resultado que tengo es: 
Cocinas 
- Astra 
- Iride 
- prueba 1 
Astra 
- Cocinas 
Cocinas 
- Moderno  
La Idea es obtener lo siguiente:  
Cocinas 
- Astra 
-- Cocinas
--- Moderno
- Iride 
- prueba 1