Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/02/2013, 13:12
Avatar de ajalex
ajalex
 
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 19 años
Puntos: 0
Exclamación Obtener el primer parent ID

Hola que tal!

tengo un pequeño problema.

quiero obtener el parentid principal de una consulta:

id|parent|
1 | 0 |
2 | 0 |
3 | 0 |
4 | 1 |
5 | 4 |
6 | 5 |

ya tengo una función que encontré y funciona a la perfección:
Código PHP:
$arr = array(
    array(
'id' => 1'parent' => 0),
    array(
'id' => 2'parent' => 0),
    array(
'id' => 3'parent' => 0),
    array(
'id' => 4'parent' => 1),
    array(
'id' => 5'parent' => 4),
    array(
'id' => 6'parent' => 5));

function 
get_key($arr$id)
{
    foreach (
$arr as $key => $val) {
        if (
$val['id'] === $id) {
            return 
$key;
        }
    }
    return 
null;
}

function 
get_parent($arr$id)
{
    
$key get_key($arr$id);
    if (
$arr[$key]['parent'] == 0)
    {
        return 
$id;
    }
    else 
    {
        return 
get_parent($arr$arr[$key]['parent']);
    }

y se imprime así:
Código PHP:
get_parent($arr6); // me retorna el id 1 
el problema es que quiero utilizarlo en mi consulta de MySQL y al pasar la consulta al array no trabaja la funcion y me imprime el mismo numero que puse 6

Código PHP:
$result=mysql_query("select id,parent from menu"); 
$var1 = array();
while(
$valor=mysql_fetch_array($result)) {  
$var1[] = array('id' => $valor['id'],'parent' => $valor['parent']);     

alguien que me pueda ayudar?

se los agradeceria!!! gracias!!!