Foros del Web » Programando para Internet » PHP »

Problema con sentencia while en un javascript

Estas en el tema de Problema con sentencia while en un javascript en el foro de PHP en Foros del Web. Hola estoy intentando imprementar un menu árbol en mi web con enlaces sacados de mi base de datos. El código es así: Código PHP: d = new dTree('d'); ...
  #1 (permalink)  
Antiguo 15/02/2007, 10:26
 
Fecha de Ingreso: diciembre-2006
Mensajes: 12
Antigüedad: 17 años, 4 meses
Puntos: 0
Problema con sentencia while en un javascript

Hola estoy intentando imprementar un menu árbol en mi web con enlaces sacados de mi base de datos. El código es así:

Código PHP:
d = new dTree('d');

        d.add(0,-1,'Elige un pueblo o comarca');
        d.add(1,0,'<?php echo $row[2?>','pueblos.php?id=<?php echo $row[0?>');
        <?php 
        
        
while($row=mysql_fetch_row($result)){ ?>
        
        d.add(2,1,'<?php echo $row[1?>','pueblos.php?id=<?php echo $row[0?>');
        <? }
Esta es la parte que me da problemas. Ya que ejecutada la sentencia solo me sale un sólo enlace cuando deberían salirme muchos más.

El javascript funciona de forma que los números 2,1 (de d.add(2,1) se refieren a el primero la id única del enlace, y el segundo relaciona con otro enlace 'padre' (en este caso el d.add (1,0).

Por lo que supongo el problema esta en que cuando se ejecuta la sentencia while siempre tiene id=2. Alguien sabe como puedo solucionarlo??

Gracias de antemano.
  #2 (permalink)  
Antiguo 15/02/2007, 14:34
Avatar de locojars  
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 22 años
Puntos: 4
Re: Problema con sentencia while en un javascript

Supongo que si estas queriendo crear un arbol, es porque tienes una jerarquia hecha en tu tabla, si es ese el caso lo que puedes hacer es poner el ID para identificar tu no, y en el parent.. pues pones el parent de tu tabla, ejemplo:
Código PHP:
d = new dTree('d');

        d.add(0,-1,'Elige un pueblo o comarca');
        d.add(1,0,'<?php echo $row[2?>','pueblos.php?id=<?php echo $row[0?>');
        <?php 
        
        
while($row=mysql_fetch_row($result)){ ?>
        // Suponiendo que el parent esta en la columna2
        d.add(<?php echo $row[0];?>,<?php echo $row[2];?>,'<?php echo $row[1?>','pueblos.php?id=<?php echo $row[0?>');
        <? }
Si no tienes un parent y lo unico que quiere hace es un arbol pero solo con un nivel, pues podrias utilizar un contador, ya que este arbol necesita que el primer numero es ID y en tu caso a todos les estas poniendo numero 2 (d.add(2,1,), para solucionar esto has algo asi:
Código PHP:
d = new dTree('d');

        d.add(0,-1,'Elige un pueblo o comarca');
        d.add(1,0,'<?php echo $row[2?>','pueblos.php?id=<?php echo $row[0?>');
        <?php 
        $contador 
=2;
        while(
$row=mysql_fetch_row($result)){ ?>
        
        d.add(<?php  echo $contador;?>,1,'<?php echo $row[1?>','pueblos.php?id=<?php echo $row[0?>');
        <? 
    $contador
++;
?>
De esta forma le pondra un ID diferente a cada nodo.
Salu2
Jars.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 19:10.