Foros del Web » Programando para Internet » PHP »

Registro cada 3 horas

Estas en el tema de Registro cada 3 horas en el foro de PHP en Foros del Web. Bueno quiero que solo se pueda puntuar 1 vez cada 3 horas.. ¿como lo hago? de momento tengo un campo "Votos" con el nombre de ...
  #1 (permalink)  
Antiguo 08/02/2010, 16:11
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Registro cada 3 horas

Bueno quiero que solo se pueda puntuar 1 vez cada 3 horas..
¿como lo hago?
de momento tengo un campo "Votos" con el nombre de usuario y la fecha de este tipo "2010-02-03 23:44:25"
  #2 (permalink)  
Antiguo 08/02/2010, 16:45
 
Fecha de Ingreso: enero-2008
Ubicación: /España/Galicia
Mensajes: 928
Antigüedad: 16 años, 3 meses
Puntos: 21
Respuesta: Registro cada 3 horas

si restando las datas supero las 3... pues peude votar

pasa ese dato a formato unix (time();) (no es con la funcion time()
  #3 (permalink)  
Antiguo 08/02/2010, 17:33
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Registro cada 3 horas

Cita:
pasa ese dato a formato unix (time();) (no es con la funcion time()
Eso no lo he entendido
  #4 (permalink)  
Antiguo 08/02/2010, 19:54
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Registro cada 3 horas

mira si te sirve este post:

http://www.forosdelweb.com/f18/compa...as-php-497392/
  #5 (permalink)  
Antiguo 09/02/2010, 05:47
N4X
 
Fecha de Ingreso: enero-2010
Mensajes: 23
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Registro cada 3 horas

eso siempre depende como tu trates las horas...

por ejemplo, yo uso la función sql: DATE_FORMAT

y el resultado lo paso a una función que me devuelve 3 arrays..

la 1ra contiene un campo fecha y un campo hora
la 2nda los 3 campos de fecha (dd,mm,aaaa)
y la ultima los campos hora: hh,mm,ss

lo unico que haria yo seria
Código PHP:
if (!time(h)->= $array['tiempo']['hora'])
//si no es hora no dejo votar 
y con eso ya lo tienes.

saludos
nax
  #6 (permalink)  
Antiguo 09/02/2010, 09:15
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Registro cada 3 horas

he creado un campo time() se guarda asi 13:06:05
la cuestion es que hago lo que dice el enlace de bacdavi
y me sale un numero asi..
1265680802
Tambie he probado con time() (en php) y tampoco funciona
y por ultimo he crado un datetime() y probado
Código PHP:
Ver original
  1. $myhora=mysql_query("select DATE_FORMAT(hora, '%h:%i %p')from premios",$conexion)or die ("Error".mysql_error());
  2. $row=mysql_fetch_array(myhora);
Pero despues pongo un $row[hora] y no pasa nada :S
  #7 (permalink)  
Antiguo 09/02/2010, 16:45
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Registro cada 3 horas

ahh ok ok.. creo qu ya he entendido el tema de UNIX
Lo que pasa es lo siguiente..
La consulta sql me da la fecha asi
2010-02-05 22:00:00
y PHP me la da asi
2010-2-9 23:43:7
¿hay alguna funcion en php que me añada los 0?
para mostrar la fehca tengo
Código PHP:
Ver original
  1. date_default_timezone_set('Europe/Madrid');
  2. $fecha = getdate();
  3. $hora = ($fecha["year"]."-". $fecha["mon"]."-". $fecha["mday"]." ". $fecha["hours"].":".$fecha["minutes"].":".$fecha["seconds"]);
  #8 (permalink)  
Antiguo 09/02/2010, 18:14
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Registro cada 3 horas

he encontrado esto..
http://www.php.net/manual/en/datetim...fromformat.php
Código PHP:
Ver original
  1. date_default_timezone_set('Europe/Madrid');
  2. $fecha = getdate();
  3. $hora = ($fecha["year"]."-". $fecha["mon"]."-". $fecha["mday"]." - ". $fecha["hours"].":".$fecha["minutes"].":".$fecha["seconds"]);
  4. $format = 'Ym-!d H:i:s' ;
  5. $dt =DateTime::createFromFormat($format,$hora);
  6. echo $dt;
pero me da error el php :S
  #9 (permalink)  
Antiguo 09/02/2010, 19:16
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 9 meses
Puntos: 27
Respuesta: Registro cada 3 horas

Si lo que queres es la hora actual con el formato que quieras usa la funcion date()
http://php.net/manual/en/function.date.php
Código PHP:
$fecha date("Y-m-d H:i:s"); #2010-02-09 22:16:08 
espero que te sirva.
  #10 (permalink)  
Antiguo 09/02/2010, 19:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 21
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Registro cada 3 horas

aporte:

>> Crear tabla en mysql con la hora
>> Crear una funcion que verifique, un condicional if/else (si pasaronlas tres horas vota sino nooo)
>> Sesiones ;)

eso si te sirve ;)
  #11 (permalink)  
Antiguo 10/02/2010, 01:34
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Registro cada 3 horas

Cita:
Iniciado por luis010182 Ver Mensaje
Si lo que queres es la hora actual con el formato que quieras usa la funcion date()
http://php.net/manual/en/function.date.php
Código PHP:
$fecha date("Y-m-d H:i:s"); #2010-02-09 22:16:08 
espero que te sirva.
Ok muchas geacias! ya puedo crear el if, me has salvado :)
Unix es cuando una fecha por ejemplo
2010-02-10 08:33:08 se convierte en 1265803200 usando por ejemplo strtotime() ¿no? tambien es un SO ¿no?

Etiquetas: horas, registro
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 17:01.