PHP - Funcion Java Script dentro de un ciclo PHP

 
Vista:
Imágen de perfil de Luffygatana

Funcion Java Script dentro de un ciclo PHP

Publicado por Luffygatana (6 intervenciones) el 07/04/2017 15:02:24
hola buenas, tengo un while en PHP para mostrar el resultado de la consulta, en ese ciclo tengo una función en javascript, tengo la función dentro del ciclo, por que en la función necesito un resultado del ciclo, pero cuando lo ejecuto tiene el ultimo valor del ciclo, tienen alguna idea de como poder hacerlo?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
while ($row = mysql_fetch_row($result))
 {
 
      echo '<script languaje="JavaScript">
            
     		var patente="'.$row[0].'";
                 function nuevaventana (URL){ 
   		window.open("php/especificacion.php?         
                id="+patente+"&&inicio='.$inicio.'&&termino='.$termino.'",
                "ventana1","width=800,height=400,scrollbars=NO") 
		} 
		</script>';
                 echo "<th><a onclick='nuevaventana()'>".$row[0]."</th>";
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Funcion Java Script dentro de un ciclo PHP

Publicado por xve (6935 intervenciones) el 07/04/2017 19:25:40
Hola, tu problema es que sobreescribes los valores de las variables, y creas la misma función tantas veces como iteraciones tenga el bucle, por eso solamente te funciona la ultima.

La manera de hacerlo, es crear la función fuera del bucle (1 sola vez) y luego en el bucle hacer las llamadas a la función pasando los valores necesarios.... algo así:

1
2
3
4
5
6
7
8
9
10
11
12
<script languaje="JavaScript">
	function nuevaventana (inicio,patente,termino){
		window.open("php/especificacion.php?id="+patente+"&inicio="+inicio+"&termino="+termino+",
		"ventana1","width=800,height=400,scrollbars=NO")
	}
</script>';

<?php
while ($row = mysql_fetch_row($result))
{
	echo "<th><a onclick='nuevaventana(".$inicio.",".$row[0].",".$termino.")'>".$row[0]."</th>";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar