Hola gnzsoloyo. Lo que pasa que es una función recursiva de donde no extraigo los valores de una columna de la BD. Se trata de un menú del Modelo Adyacente, donde busco los "hijos" directos de cierto "id":
Código:
function get_tree($id)
{
$result = mysql_query("SELECT * FROM categorias WHERE parent_id='$id'");
$level = 0;
while ($row = mysql_fetch_array($result))
{
echo str_repeat(' ',$level)';
}
echo $numero=mysql_num_rows($result);
}
Ejemplo:
get_tree(6);
Imprime en pantalla: 2
Si quisiera averiguar también los nietos, bisnietos... de cierto id de la base de datos, agrego, dentro de la función:
Código:
get_tree($row['id'], $level + 1);
En el mismo caso, imprime en pantalla: "00112". Avisándome que son 4 los descendientes ("hijos") de ese mismo "id"[/CODE].
Código completo:
Código:
function get_tree($id)
{
$result = mysql_query("SELECT * FROM categorias WHERE parent_id='$id'");
$level = 0;
while ($row = mysql_fetch_array($result))
{
get_tree($row['id'], $level + 1);
echo str_repeat(' ',$level)';
}
echo $numero=mysql_num_rows($result);
}
get_tree(6);
Resultado: 00112 (no se como sumar cada llamada como 0+0+1+1+2=4, que solo diga la suma total=4)
¿Me explico bien, ahora?