Foros del Web » Programando para Internet » PHP »

php incrustado javascript

Estas en el tema de php incrustado javascript en el foro de PHP en Foros del Web. buenas, aki estoy, denuevo, molesando, tengo el siguiente codigo php incrustado en javascript Código PHP: <script type="text/javascript"> <?  $sql = "SELECT * FROM subasta WHERE EstSub='Abierta'" ;   $res = mysql_query ...
  #1 (permalink)  
Antiguo 26/07/2006, 19:34
 
Fecha de Ingreso: junio-2006
Ubicación: Lima, mi trabajo
Mensajes: 100
Antigüedad: 17 años, 9 meses
Puntos: 0
php incrustado javascript

buenas, aki estoy, denuevo, molesando, tengo el siguiente codigo php incrustado en javascript

Código PHP:
<script type="text/javascript">
<?
 $sql
="SELECT * FROM subasta WHERE EstSub='Abierta'";
 
$res=mysql_query($sql);
 
$nfil=mysql_num_rows($res);
?>
var nro_sub= <?=$nfil?>

//alert(nro_sub)
el alert comentado me vota un error, dice que el obejto no existe, ahora si pongo el mismo alert en el body vota el valor correcto
Código HTML:
<script>
alert(nro_sub)
</script> 
nose en donde esta el error, ayuda porfavor, necesito valores de la consulta antes de que se termine de cargar la pagina,
gracias de antemano por las respuestas.
  #2 (permalink)  
Antiguo 26/07/2006, 20:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
¿Conces ya que PHP se ejecuta del lado del servidor?

Bajo ese concepto, .. tu consulta SQL genera cierto dato desde PHP .. y tu compones tu "javacirpt" el cual al ser entregado al "cliente" se interpretarà. No se va a interpretar cuando por "envento" javascript lo puedas llamar sino que ya "vendrà" generado para cuando la pàgina llegue al navegador para que lo interprete.

Por ende tampoco tiene sentido meter ese código "PHP" justo en tu función javascirpt .. si bien a "PHP" le dá igual y a javascript lo mismo hasta que haces tu "<?=$nfil?>" .. realmente eso es "pensar en PHP por mèdio de javascirpt" y no pensar en que "PHP genera tu página/código javascirpt/HTML" ...

Fijate en el còdigo que genera la ejecuciòn de tu scirpt PHP (en tu navegador ver->código fuente). Si eso que ves generado es "correto" en javascript .. OK, si no lo es .. tendràs que ajustar lo que sea necesario para que sea lo que esperas (algùn ; .. que esté en el <head> tal vez .. etc)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 27/07/2006, 10:27
 
Fecha de Ingreso: junio-2006
Ubicación: Lima, mi trabajo
Mensajes: 100
Antigüedad: 17 años, 9 meses
Puntos: 0
gracias, si entiendo k php se ejcuta en el servidor y javascript en el cliente, bueno en si lo k trrato de hacer es una "trampita" y necesito para eso decirle al servidor k me de un valor de consulta a la BD y desde javascript (con un reloj simulado) en el momento en que se cumpla una cierta condicion, como k una determinada hora se igual a un campo en una tabla en la base de datos, javascript llame denuevo al servidor para que ejecute codigo php, haciendo un UPDATE, es algo asi como un trigger pero generado desde javascript, es lo unico k se me ocurrio, si me puedes dar otra idea porfa te lo agradeceria mucho

salu2
  #4 (permalink)  
Antiguo 27/07/2006, 10:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Iniciado por luz506
gracias, si entiendo k php se ejcuta en el servidor y javascript en el cliente, bueno en si lo k trrato de hacer es una "trampita" y necesito para eso decirle al servidor k me de un valor de consulta a la BD y desde javascript (con un reloj simulado) en el momento en que se cumpla una cierta condicion, como k una determinada hora se igual a un campo en una tabla en la base de datos, javascript llame denuevo al servidor para que ejecute codigo php, haciendo un UPDATE, es algo asi como un trigger pero generado desde javascript, es lo unico k se me ocurrio, si me puedes dar otra idea porfa te lo agradeceria mucho

salu2
En ese caso tu rutina javsacript (tu "timer") tendrá que llamar a tu script PHP con una redirección o llamandolo en algún frame/iframe (para que no tengas un refresco de la página entera).

Tu scritp PHP de proceso sería sólo la consulta SQL que tu necesitas y el código PHP que corresponda para ejecutarla ..

Tu rutina javascript tendrá que llamar a tu script PHP cuando el evento lo decida o por un "timer" o como corresponda. Si usas frames/iframe (uno oculto), podrías llamar a ejecutar a tu script en ese frame .. sin "recarga" de página aparente. A este tipo de técncia le llaman "Remote Scripting".

Esto también se puede solucionar con técnicas de "Ajax" (que se basan en comunicaciones "asincronas" con el servidor disparado desde el cliente y eventos ..). Tenemos un foro dedicado al tema.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 27/07/2006, 15:48
 
Fecha de Ingreso: junio-2006
Ubicación: Lima, mi trabajo
Mensajes: 100
Antigüedad: 17 años, 9 meses
Puntos: 0
gracias, estoy revisando lo del Remote Scripting y me parece k es justo lo k keria, ahora lo de ajax se ve k es mas complejo pero mucho mas util, lo malo es k yo ya estoy terminando el sistema k hacia, solo me hace falta lo del tiempo, pero gracias mil de todas formas, ya molestare nuevamente cuando no entienda algo :)
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 05:14.