Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2011, 16:05
Avatar de lord_clown
lord_clown
 
Fecha de Ingreso: marzo-2011
Mensajes: 43
Antigüedad: 13 años, 8 meses
Puntos: 0
Ciclo while dentro de ciclo for

Hola!

Estoy desarrollando un menu de tipo arbolde forma dinamica y encontré uno divagando en la red, funciona perfectamente peero requiero que sea dinamico y estoy trabajando con php el, menu tipo arbol esta en javascript; hice algunas pruebas para que fuera automatizado en base a un numero y funciona perfecto, el detalle es qu cuando combino el php y el javascript ya no funciona correctamente, les dejo el codigo y voy explicando:

Este es el javascript original
Código:
             <script type="text/javascript">
		<!--
		var Tree = new Array;
		// nodeId | parentNodeId | nodeName | nodeUrl
		Tree[0]  = "1|0|Ingresos|#";
		Tree[1]  = "2|1|Mantenimiento|#";
		Tree[2]  = "3|1|Page 1.2|#";
		Tree[3]  = "4|3|Page 1.2.1|#";
		Tree[4]  = "5|1|Page 1.3|#";
		Tree[5]  = "6|2|Page 1.1.1|#";
		Tree[6]  = "7|6|Page 1.1.1.1|#";
		Tree[7]  = "8|6|Page 1.1.1.2|#";
		Tree[8]  = "9|1|Page 1.4|#";
		Tree[9]  = "10|9|Page 1.4.1|#";
		//-->
	</script>
La idea del javascript es armar un arreglo donde se va llenando el arbol, el primer numero antes del "|" es consecutivo, el segundo es donde se declara hijo de quien es en el arbol, el tercero la descripcion y el ultimo el link.

Hasta aqui sin problemas, de esto pase a esto:

Código:
<script type="text/javascript">
		<!--
		
		var renglones=<?php echo $renglones; ?>;
		var x;
		var y;
		var z;
		// nodeId | parentNodeId | nodeName | nodeUrl
		var Tree = new Array;
		 
		Tree[0]  = "1|0|INGRESOS|#";
		for(x=1; x<=renglones; x=x+1){
			z=x;
			y=x+1;
			Tree[x]	 = y+"|1|"+z+"|#";
		}
		//-->
	</script>
En este codigo lo que intente es que mediante un ciclo con mis consultas ya establecidas anteriormente me genere el arbol. Aqún aqui no tengo problemas ya que mi consulta tiene 5 registros y el ciclo funciona a la perfección me trae el arbol con 5 registros.

Ahora lo que intento es que en el valor de la variable z tenga el nombre del campo de mi base de datos que si lo obtengo mediante mi consulta, ya está revisado, de hecho abajo de mi codigo compruebo que realmente funcione ese query y todo bien pero el resultado del cambio es que me manda solo el nombre de uno de los campos en los 5 registros. Es decir mi resultado es:

INGRESOS
CAMPO5
CAMPO5
CAMPO5
CAMPO5
CAMPO5

Siendo que tengo 5 valores diferentes, este es el codigo que estoy manejando

Código:
<script type="text/javascript">
		<!--
		
		var renglones=<?php echo $renglones; ?>;
		var x;
		var y;
		var z;
		// nodeId | parentNodeId | nodeName | nodeUrl
		var Tree = new Array;
		 
		Tree[0]  = "1|0|INGRESOS|#";
		for(x=1; x<=renglones; x=x+1){
			<?php while ($row=mssql_fetch_array($result)){ ?>
			z="<?php echo $row['descripcion']; ?>";
			y=x+1;
			Tree[x]	 = y+"|1|"+z+"|#";
			<?php
			}
			?>
		}
		
		//-->
	</script>
Espero me puedan ayudar.

Saludos