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…
ArtÃculos relacionados:
2 comentarios en Como generar JavaScript desde PHP
Deja un comentario
Buscador
Mi foto aleatoria
Comentarios recientes
CategorÃas
- Aplicaciones (34)
- Deportes (5)
- Exponentcms (15)
- Firefox (4)
- FotografÃa (15)
- Hardware (17)
- HTML CSS JavaScript y PHP (14)
- Humor (7)
- Internet (36)
- Musica (27)
- Posicionamiento Seo (12)
- Programación (7)
- Scripting (7)
- Seguridad (27)
- Sin categorÃa (2)
- Sistemas operativos (7)
- SQL-Bases Datos (3)
- Varios (87)
- Virtualización (21)
Enlaces
Archivos
- agosto 2011 (1)
- junio 2011 (2)
- mayo 2011 (1)
- abril 2011 (3)
- marzo 2011 (1)
- febrero 2011 (1)
- diciembre 2010 (1)
- noviembre 2010 (1)
- julio 2010 (2)
- junio 2010 (2)
- mayo 2010 (4)
- abril 2010 (1)
- marzo 2010 (1)
- febrero 2010 (5)
- enero 2010 (4)
- diciembre 2009 (5)
- noviembre 2009 (9)
- octubre 2009 (4)
- septiembre 2009 (9)
- agosto 2009 (9)
- julio 2009 (20)
- junio 2009 (8)
- mayo 2009 (13)
- abril 2009 (12)
- marzo 2009 (13)
- febrero 2009 (18)
- enero 2009 (15)
- diciembre 2008 (14)
- noviembre 2008 (14)
- octubre 2008 (18)
- septiembre 2008 (7)
- agosto 2008 (8)
- julio 2008 (3)
- octubre 2007 (4)

Me cachis! podÃa haber llegado a esta web! hacÃa tiempo que andaba buscando algo asÃ, comunicar php y javascript.
TenÃa el problema de que no se actualizaba el listado por que lo hacÃa desde php, y la llamada ya se habÃa realizado.
Vamos lo solucioné con un script en javascript que llamara denuevo a un php que lo generaba denuevo.
Un saludo
Muy bueno el tuto, pero faltan unos apuntes mas:
el script php, esta correcto, y se puede llamar desde un tag script dentro del html, pero la idea es que el script no se llame:
si no
la idea es enmascara la extension php y que sea tratada como si fuera js.
Claro, que diran que al ser js no sera ejecutada en el servidor. Pues precisamente eso es lo que deseo hacer y si mal no estoy la solucion es usar el fichero .htaccess y cambiar el mime de los ficheros js. La idea es que el servidor ejecute los js como si fuesen php y que devuelva el resultado. en nuestro caso (el mio) un iframe con un banner adentro.