Leer array php en javascript

Voy a intentar explicarme bien. Tengo una BD y la leo usando php, los valores leídos los guardo en 3 vectores. Mi problema viene al intentar leer ese vector y escribirlo en otro en javascript. Creo que directamente no puedo leer con js la BD por eso tomé esta solución.
Te pongo código por si te ayuda.
while ($row = mysql_fetch_array ($result))
   {
      $valLat[$i]=$row[Lat];
      print("$valLat[$i]\n");
      $valLong[$i]=$row[Long];
      print("$valLong[$i]\n");
      $valAlt[$i]=$row[Alt];
    $i++;    
    }
    mysql_free_result($result);
?>//hasta aqui todo OK
<script type="text/javascript">
     var max = <?echo $i;?>  //obtener long array
      var matriz= new Array () ;       //creo el array
for (j=0; j<=max;j++)
{
      matriz[j]=new Array (3);
      matriz[j][0] = "<?php echo $valLat[j]; ?>";      
      matriz[j][1] = "<?php echo $valLong[j]; ?>";
      matriz[j][2] = "<?php echo $valAlt[j]; ?>"; */
   }
    </script>
MUCHAS GRACIAS, por cierto soy nuevo en esto y lo visto me parece genia.

1 Respuesta

Respuesta
1
Deberías generar el código javascript desde php así:
$cad_js = '';
while ($row = mysql_fetch_array ($result))
   {
      $valLat[$i]=$row[Lat];
      print("$valLat[$i]\n");
      $valLong[$i]=$row[Long];
      print("$valLong[$i]\n");
      $valAlt[$i]=$row[Alt];
    $cad_js .= "var matriz[$i]=new Array (3);\n";
    $cad_js .= "matriz[$i][0] = {$valLat[$i]};\n";     
    $cad_js .= "matriz[$i][1] = {$valLong[$i]};\n";
    $cad_js .= "matriz[$i][2] = {$valAlt[$i]};\n";
    $i++;    
    }
y luego en el codigo javascript:
<script>
<?php echo $cad_js; ?>
</script>
Bueno falta código pero la idea es esa.
Gracias por responder, pero quiero concretar algunas cosas.
Primero no entiendo lo siguiente:
$cad_js .= "var matriz[$i]=new Array (3);\n";
    $cad_js .= "matriz[$i][0] = {$valLat[$i]};\n";     
    $cad_js .= "matriz[$i][1] = {$valLong[$i]};\n";
    $cad_js .= "matriz[$i][2] = {$valAlt[$i]};\n";
¿El punto para que sirve?
¿Qué se almacena en cad_js?
¿Podré acceder a matriz[][] elemento a elemento recorriendo con un bucle en js?
Muchas gracias
El punto es usado en php para concatenar cadenas, lo que en javascript es el operador '+'
En cad_js se almacena el contenido del javascript, que es algo parecido a lo que estás haciendo en tu código, pero el código es generado por php.
Respecto a la 3ra pregunta, si puedes acceder con un bucle. Sugiero que ante todo te leas y releas los manuales de php para que estés un poco más enterado de la sintaxis del lenguaje y su estructura y funciones.
http://www.php.net/manual
Muchas gracias, la verdad es que soy novato programando en javascript y php, aunque si que he programado usando servlets, java y un poco de ASP. Gracias y espero que visites mi página cuando termine la aplicación. Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas