JavaScript - Pasar array php a javascript

 
Vista:
Imágen de perfil de Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Juan Enrique (12 intervenciones) el 04/09/2019 18:05:05
Hola

Tengo una página donde incluí unos juegos hechos por mi para aprender vocabulario galego.
El caso es que lo que me funcionaba siempre, aquí no me funciona. Probando en mi servidor local, si que me funciona sin problemas, pero cuando lo subo al alojamiento falla.

El código es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<head>
	<link rel="StyleSheet" href="Posiciones-1.0.1.css" type="text/css">
	<script language="Javascript" src="FMain-1.0.2.js"></script>
	<meta charset ="UTF-8"/>
	<title>Vinteoumais</title>
	<?php
        include("conexion.php");
		$NumRex=0;
		$sentenciasql2 = "SELECT * FROM Preguntas";
		if ($resultadoconsulta=$link->query($sentenciasql2)) {
			$i=0;
			while ($Campo = $resultadoconsulta->fetch_array()){
				$Pregu[$i]=$Campo["Pregunta"];
				$i++;
			}
		}
		$NumRex=$i;
		$sentenciasql = "SELECT * FROM Respostas";
		if ($resultadoconsulta=$link->query($sentenciasql)) {
			$i=0;
			while ($Campo = $resultadoconsulta->fetch_array()){
				$Respu[$i]=$Campo["Resposta"];
				++$i;
			}
		}
		$link->close();
	?>
 
	<script type="text/javascript">
		var Pregu = New Array();
		var Respu = New Array();
        Pregu=<?php echo json_encode($Pregu);?>;
        Respu = <?php echo json_encode($Respuestas);?>;
		var NumRex = <?php echo json_encode($NumRex);?>;
		window.onload = function() {
            alert(NumRex);
            alert(Pregu(1000));
			Carga();
		}
	</script>
</head>

Si le quito las cuatro primeras líneas del código javascript, la variable $NumRex muestra perfectamente el número de registros que tiene, por lo que la consulta la hace bien.

¿Alguien me puede decir qué pasa?
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 Joan
Val: 211
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Joan (11 intervenciones) el 04/09/2019 18:54:47
Hola Juan, has revisado la consola del navegador haber si hay algún error?
Si haces ver código fuente en el navegador, que contenido tienen las variables?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Juan Enrique (12 intervenciones) el 04/09/2019 19:00:24
En la consola me dice esto:

SyntaxError: unexpected token: identifier xogoskike.260mb.net:10:18
Alternate Service Mapping found: http://div.show:-1 to http://div.show:443

Y en el Debugger aparece esto:

1
2
3
4
5
var Pregu = New Array();
var Respu = New Array();
Pregu=;
Respu = null;
var NumRex = 2201;

Muchas gracias por contestar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Joan
Val: 211
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Joan (11 intervenciones) el 04/09/2019 21:12:48
El error en que linea lo da?? el código que has mostrado, tiene código php que no se envía al navegador.

Como ves, las variables no cogen valor... tiene que revisar porque no obtienen ningún valor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Alejandro (532 intervenciones) el 05/09/2019 16:06:09
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
valida que $pregu contenga algo,
1
2
3
4
5
6
7
8
9
if ($resultadoconsulta=$link->query($sentenciasql2)) {
	while ($Campo = $resultadoconsulta->fetch_array()){
		$Pregu[]=$Campo["Pregunta"];
	}
}else{
	echo 'No se genero $pregu';
}
 
print_r($pregu);
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
Imágen de perfil de Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Juan Enrique (12 intervenciones) el 05/09/2019 16:08:58
Muchas gracias por la respuesta.
Lo comprobaré, lo que pasa es que mañana tengo un examen importante y tengo que dedicarme a eso en exclusiva.
Mañana por la tarde lo compruebo, porque pienso que tiene que ser eso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Juan Enrique (12 intervenciones) el 07/09/2019 16:47:25
Hola
He añadido esta línea antes de acabar el script php:

echo "<script type='text/javascript'>alert('$Pregu[1000]')</script>";

Tanto con $Pregu como con $Respu y resulta que hasta ahí coge bien los valores.
Incluso le metí este mensaje en el mismo bucle cambiando 1000 por $i y los va mostrando todos, por lo que el problema es al pasarlos a javascript.

Podeis probar la página en http://xogoskike.260mb.net

Gracias de antemano por ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Alejandro (532 intervenciones) el 09/09/2019 16:05:34
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
A mi me funciona.
1
2
3
4
5
6
<script>
	window.onload= function(){
		Pregu = <?php echo json_encode(array("En masculino. Relativo ou propio do dogma.","En masculino. Que admite ou afirma determinadas verdades ou principios.","Que ocorre raras veces."));?>;
		console.log(Pregu);
	}
</script>
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
Imágen de perfil de Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Juan Enrique (12 intervenciones) el 09/09/2019 16:15:26
Claro Alejandro, ¿pero en donde te funciona?
A mi con mi servidor local me funciona perfectamene y debería verse como en la captura de pantalla que te adjunto, pero lo subo al servidor (tanto al de pruebas como al real) y no funciona.
Me está volviendo loco.
En la página de verdad, tengo cuatro juegos y funciona solo uno con el mismo sistema....

Gracias por el aporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Alejandro (532 intervenciones) el 09/09/2019 20:12:45
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
No das ningún detalle sobre el problema, entre al sitio que publicas en la consola claramente dice "Pregu is not a function"
1
2
3
4
5
window.onload = function() {
	alert(NumRex);
	alert(Pregu(1000)); //Pregu es una array no una funcion, lo correcto es Pregu[1000]
	Carga();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Juan Enrique
Val: 37
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar array php a javascript

Publicado por Juan Enrique (12 intervenciones) el 09/09/2019 20:35:01
Es que no tenía mucho mas detalle que darte porque no sabía de donde podía venir el fallo.

Ahora he quitado las líneas:

1
2
var Pregu = New Array();
var Respu = New Array();

y lo he puesto asi:

1
2
var Pregu = <?php echo json_encode($Pregu);?>;
var Respu = <?php echo json_encode($Respu);?>;

y funciona.

Muchísimas gracias por tus respuestas y tu paciencia conmigo.

Un abrazo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar