Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/03/2012, 04:32
edie8
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: Trabajar con horas php

He echo lo del mktime() y lo e puesto en mi funcion y me da este error:
Warning: Missing argument 1 for hace(), called in C:\AppServ\www\proyecto\10\4\index.php on line 41 and defined in C:\AppServ\www\proyecto\10\4\index.php on line 11
tengo este codigo:
Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. date_default_timezone_set('Europe/Madrid');
  4. $horas=mysql_query("SELECT * from perfil",$conexion);
  5. $fechas=(mysql_fetch_array($horas));
  6. $fecha=$fechas['fecha'];
  7. $fechas1=mktime($fecha);
  8. $ahora=time();
  9. /*echo $fechas1."<br>";
  10. echo $ahora;*/
  11. function hace($fechas1){
  12.         //obtener la hora en formato unix
  13.         $ahora=time();
  14.        
  15.         //obtener la diferencia de segundos
  16.         $segundos=$ahora-$fechas1;
  17.        
  18.         //dias es la division de n segs entre 86400 segundos que representa un dia;
  19.         $dias=floor($segundos/86400);
  20.  
  21.         //mod_hora es el sobrante, en horas, de la division de días;    
  22.         $mod_hora=$segundos%86400;
  23.        
  24.         //hora es la division entre el sobrante de horas y 3600 segundos que representa una hora;
  25.         $horas=floor($mod_hora/3600);
  26.        
  27.         //mod_minuto es el sobrante, en minutos, de la division de horas;      
  28.         $mod_minuto=$mod_hora%3600;
  29.        
  30.         //minuto es la division entre el sobrante y 60 segundos que representa un minuto;
  31.         $minutos=floor($mod_minuto/60);
  32.        
  33.         if($horas<=0){
  34.                 echo $minutos.' minutos';
  35.         }elseif($dias<=0){
  36.                 echo $horas.' horas '.$minutos.' minutos';
  37.         }else{
  38.                 echo $dias.' dias '.$horas.' horas '.$minutos.' minutos';
  39.         }
  40. }
  41. echo hace();
  42. ?>
Nose donde fallo ya que la fecha de la base de datos es 14:59:06 28-2-2012 y la saco en formato unix con mktime($variable), nose en que fallo pero no me compara con ahora y me dice que desde esa fecha hasta ahora hay: 15401 dias 10 horas 17 minutos, si alguien sabe en que fallo o como hacerlo y me quiere ayudar estaría agradecido, un saludo.