Como generar JavaScript desde PHP

En ocasiones, cuando se hace un desarrollo web puede ser necesario utilizar tanto PHP como JavaScript. Pero en algunos casos el problema no reside en utilizar ambos lenguajes, si no en comunicarlos entre sí, y poder enviar datos desde PHP a JavaScript. ¿Y por qué existe ese problema? Porque PHP se ejecuta en el servidor, y JavaScript se ejecuta en la máquina cliente. Por tanto, para poder comunicar PHP con JavaScript no será necesario más que el poder generar el código correspondiente desde PHP para que lo pueda interpretar JavaScript. El problema a la inversa (de JavaScript a PHP) se resuelve generando desde JavaScript el POST que luego se encargaría de recoger la página PHP correspondiente.

Presentado el problema, creo que la mejor forma de explicarlo es, como en la mayor parte de las veces, mediante un ejemplo sencillo. Se trata de generar un array desde PHP y mostrar como ser vería al ser cargada la página, para ser interpretado con JavaScript.

Bien, pues generamos desde PHP un array llamado productos_array que contiene por cada entrada un array llamado producto_contador y que se obtiene de una base de datos.

 
<?php
$prod_javascript = '';
$pos = 0;
 
while ($prod = fetch_object($query_selecciona_productos)) {
 
  // Compongo las variables javascript con los datos de cada producto para poder acceder posteriormente.
  $prod_javascript = $prod_javascript . 'var producto_'.$pos.' = new Array(3); producto_'.$pos.'[0] = "'.$prod->codigo.'"; producto_'.$pos.'[1] = "'.$prod->descripcion.'"; producto_'.$pos.'[2] = "'.$prod->precio.'";';
 
  $pos = $pos +1;
}
echo $prod_javascript;
echo "n";
?>

De esta forma habremos generado un un código JavaScript desde PHP, similar al siguiente:

 
var producto_1 = new Array(3); producto_1[0] = "1000"; producto_1[1] = "lo que el viento se llevo"; producto_1[2] = "50";
var producto_2 = new Array(3); producto_2[0] = "1786"; producto_2[1] = "paquete 1000 folios"; producto_2[2] = "12";
var producto_3 = new Array(3); producto_3[0] = "9856"; producto_3[1] = "Boligrafo bic"; producto_3[2] = "4";
 
var productos_array = new Array();
productos_array[0] = producto_1;
productos_array[1] = producto_2;
productos_array[2] = producto_3;

Bien pues como hemos visto, el mayor problema de generar JavaScript a partir de PHP consiste en tener cuidado con las ” y con las ‘ para ver qué estamos concatenando todo bien, y obtener el resultado esperado. Así pues os recomiendo prestar atención a ello, y el esto salen como churros, como decía un antiguo profesor mío… 🙂

2 Comments

  1. Carlos Dk 16 de Febrero, 2010
  2. sysmaya 14 de Marzo, 2010

Leave a Reply