Foros del Web » Programando para Internet » PHP »

Variables de PHP a JAVASCRIPT

Estas en el tema de Variables de PHP a JAVASCRIPT en el foro de PHP en Foros del Web. Hola amigos, Soy nuevo en esto y la verdad que no se muy bien como explicarme, pero llevo unos meses de practicas en una empresa ...
  #1 (permalink)  
Antiguo 18/04/2006, 09:49
Avatar de unaiu  
Fecha de Ingreso: abril-2006
Mensajes: 139
Antigüedad: 11 años, 7 meses
Puntos: 0
Variables de PHP a JAVASCRIPT

Hola amigos,
Soy nuevo en esto y la verdad que no se muy bien como explicarme, pero llevo unos meses de practicas en una empresa y me han mandado hacer una aplicacion con PHP y JAVASCRIPT.

Llevo tres dias haciendo pruebas, mirando en foros,etc.. y sigo sin poder pasar variables de PHP a JS.

Este es el código que tengo ahora mismo, no es mas que una prueba, pero solo quiero pasar la variable "$dat" de PHP que es una fila de la tabla, a Java Script.

************************************************** **
html>
<head>
<title>ProyectoPHP</title>

<script type="text/javascript">

function carga()
{

<?php

include("conexion.php");

$result = mysql_query("SELECT * FROM tPersonas", $link);


if(!$result)
{
die("No se han podido leer los datos.");
}

$dat= mysql_fetch_row ($result);
$prueba="Hola amigos"
?>


var cadena = <?php $dat[1] ?>;
var prueba = <?php $prueba ?>


alert(cadena);


}


</script>
</head>


<body onLoad=carga();>


</body>
</html>

Si alguien podria solventarme esta duda, le estaría muy agradecido. Por favor contestenme.Gracias
  #2 (permalink)  
Antiguo 18/04/2006, 11:03
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
No olvides que javascript se ejecuta del lado del lado del cliente mientras que php del lado del servidor. La forma en como lo planteas esta mal.
  #3 (permalink)  
Antiguo 18/04/2006, 13:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Dicho de otra forma ..

Piensa que PHP se ejecuta en el servidor y el resultado de su programación, algoritmos y demás código es lo que se entrega al "cliente" .. Así es como trabajan estos lenguajes del lado del "servidor" como PHP, Perl y muchos más.

Si ves esto claro .. te daras cuenta que para cuando PHP dió valor a tus varibles $prueba y demás .. lo que se entregará al navegador (cliente) será lo mismo que si tu "a mano" lo hubieras generado en una página estática.

Así que con "PHP" generas esa página HTML/Javascript "dinámicamente" .. pero sólo eso.

En tu ejemplo . .te falta un "echo" para "pintar" el valor de una variable ..

Código PHP:
<?
var cadena = <?php echo $dat[1?>;
var prueba = <?php echo $prueba ?>
Si te fijas en el código fuente generado por la ejecución de tu script en tu navegador (ver -> código fuente) veras de que se trata el tema .. (de que generas páginas HTML/etc dinámicamente ..)

Una vez entregada esta página generada al cliente .. este hará su parte ejecutando tu javascript cuando corresponda: ante un evento que sucede del lado del cliente .. o lo que sea.

Por otro lado tal vez te interes ver sobre las técnicas de "Ajax" (tenemos un foro dedicado a ese tema) .. Por qué me dá la impresión que es lo que andas buscando con ese tipo de interacción entre PHP y javacript .. Pero antes de meterte con "Ajax" te vendría bien recalacar estos conceptos de como PHP o un lenguaje del lado del servidor trabaja en general .. así veras si te combiene aplicar "Ajax" o no .. o como resolver un problema de esta indole.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 18/04/2006, 14:06
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
La decia tambien porque unaiu manda a llamar una función en javascript con la cual busca ejecutar codigo php cuando "supongo" que deberia ser al reves. Por eso hize ese comentario
  #5 (permalink)  
Antiguo 18/04/2006, 14:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por mauled
La decia tambien porque unaiu manda a llamar una función en javascript con la cual busca ejecutar codigo php cuando "supongo" que deberia ser al reves. Por eso hize ese comentario
Si, te entendí (no objeto para nada tu comentario) .. De hecho para usar de esa forma "javascript" o como piensa "unaiu" que podría eventualmente usarlo debería ver de resolver el tema con técnicas como "Ajax" que hacen justamente eso: ante un evento javascript .. se manda a llamar a ejecutar cierto código PHP y se gestiona por javascript el resultado que este pueda devolver ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 19/04/2006, 03:08
Avatar de unaiu  
Fecha de Ingreso: abril-2006
Mensajes: 139
Antigüedad: 11 años, 7 meses
Puntos: 0
Muxas gracias a los dos "cluster" y "mauled". Me habeis ayudado muxo.
He consegido que funcione la prueba , aunq la verdad no consigo pasar directamente la cadena solo me deja pasar dato a dato.

La prueba me ha quedado así:

<?php


include("conexion.php");
//include("recordset.inc.php");
$nombre=$dat[1];
$ap1=$dat[2];
$ap2=$dat[3];
$email=$dat[4];

?>

<html>
<head>
<title>ProyectoPHP</title>

<script type="text/javascript">

function carga()
{
nombre.value = '<?php echo $nombre ?>';
ap1.value = '<?php echo $ap1 ?>';
ap2.value = '<?php echo $ap2 ?>';
email.value = '<?php echo $email ?>';
}
...........etc.

Funciona bien, pero creo que uso mucho codigo para hacer una simple cosa.
Estoy muy agradecido por vuestra ayuda , la verdad que ando un poco perdido, siempre he programado en visual basic y es un salto grande para mi.

Para concluir, me gustaria saber lo que es Ajax, no lo acabo de entender.

Gracias otra vez por vuestra ayuda , un saludo grande a los dos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.