Foros del Web » Programando para Internet » Javascript »

¿Temporizador con db?

Estas en el tema de ¿Temporizador con db? en el foro de Javascript en Foros del Web. Hola, estoy creando un sistema, y necesito un contador con cuenta atrás de 1h, pero no se si hay que hacerlo con db o qué ...
  #1 (permalink)  
Antiguo 09/01/2011, 08:11
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
¿Temporizador con db?

Hola, estoy creando un sistema, y necesito un contador con cuenta atrás de 1h, pero no se si hay que hacerlo con db o qué para que cuando recarguen la pagina o entren nuevas personas no se vuelva a reiniciar el contador. Luego de que el temporizador llegue a 0 que ejecute una función php para realizar distintas cosas..


Como lo podría hacer?
  #2 (permalink)  
Antiguo 09/01/2011, 09:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ¿Temporizador con db?

Hola:

Me suena a una solución híbrida... por ejemplo con una variable de sesión con la hora de inicio de la cuenta regresiva y se actualice con los refreshs, y esa variable de sesión sea la semilla de la variable que inicialice un setTimeout en el navegador

Si no se te ocurre cómo, luego trato de hacerlo (toca siesta)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 09/01/2011, 09:25
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: ¿Temporizador con db?

Lo siento pero me he quedado: jeje entendí un poco lo de la sesión pero no se muy bien como hacer todo eso.

La idea es que se inicie un contador de 1h hacia atrás, de modo que no se reinicie el contador al recargar la página ni nada, cuando llegue a 0 deberá reiniciarse el contador para volver a empezar la subasta, el ganador se lleva el ítem y algunas funciones más...

Cuando termines la siesta aver si me puedes echar una mano jejeje

Por cierto, el contador que tengo es este, si es que vale para esto.

Código Javascript:
Ver original
  1. <script language='javascript'>
  2. var hora_t = 3600;
  3. function ref_hora(){  
  4. hora_t -= 1;
  5. if(hora_t <= 0){
  6. hora_t += 3600;
  7. }
  8. var min_p2 = Math.floor(hora_t/60);
  9. var sec_p2 = hora_t&#37;60;
  10. if(sec_p2 < 10){
  11. sec_p2 = '0'+sec_p2;
  12. }
  13. var min_p22 = min_p2%60;
  14. document.getElementById('counter').innerHTML = min_p22+':'+sec_p2;
  15. }
  16. setInterval('ref_hora();',1000);
  17.        </script>

Última edición por SeaPirates; 09/01/2011 a las 12:21
  #4 (permalink)  
Antiguo 09/01/2011, 13:10
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ¿Temporizador con db?

Hola:

No sabía que era para subastas, así que supongo que en alguna parte del servidor deberás tener guardada la hora de inicio -podría ser una tabla o un fichero-. La cuestión es que desde el servidor se deberá enviar el tiempo que falte para finalizar la subasta...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 09/01/2011, 13:14
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: ¿Temporizador con db?

Para hacer eso debería guardar la hora actual en la db? o como?

Hasta ahora lo que he conseguido es guardar la hora con time()

y luego he hecho esto:

Código PHP:
Ver original
  1. <?php
  2. include("config.php");
  3. $duracion = 1*60*60;
  4. $consulta = mysql_query("SELECT value FROM configuracion WHERE variable ='start_sub'");
  5. $start_sub = mysql_fetch_array($consulta);
  6. if(time() > $start_sub['value']+$duracion){
  7.  echo "la subasta ha terminado";
  8. }else{
  9. $tiempototal = $start_sub['value']+$duracion;
  10. $tiemporestante = $tiempototal-time();
  11. echo "Tiempo restante";
  12. echo $tiemporestante;
  13. }
  14. ?>

Pero lo de tiempo restante no se si está bien, ni tampoco si esto realmente funcionaria :/

Última edición por SeaPirates; 09/01/2011 a las 14:17

Etiquetas: temporizador
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 03:14.