Foros del Web » Programando para Internet » PHP »

Ayuda con variable de funcion

Estas en el tema de Ayuda con variable de funcion en el foro de PHP en Foros del Web. Código PHP: <?php require( 'conexion.php' ); function  dateDiff ( $fecha_ingreso ,  $fecha_salida ) { $fecha_ingreso_ts  =  strtotime ( $fecha_ingreso ); $fecha_salida_ts  =  strtotime ( $fecha_salida ); ...
  #1 (permalink)  
Antiguo 20/12/2009, 11:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 1 mes
Puntos: 7
Ayuda con variable de funcion

Código PHP:
<?php
require('conexion.php');

function 
dateDiff($fecha_ingreso$fecha_salida) {
$fecha_ingreso_ts strtotime($fecha_ingreso);
$fecha_salida_ts strtotime($fecha_salida);
$diferencia_fechas $fecha_salida_ts $fecha_ingreso_ts;
$diferencia_horas round($diferencia_fechas 3600);

return 
"<br>trabajaste: ".$diferencia_horas." horas";
}

$select=@mysql_query("SELECT CONTROL_FECHA_INGRESO, CONTROL_FECHA_SALIDA FROM control
                     WHERE CONTROL_CODIGO = 1"
) or die (mysql_error());

$registros mysql_fetch_array($select);
$FECHA_INGRESO=$registros[CONTROL_FECHA_INGRESO];
$FECHA_SALIDA=$registros[CONTROL_FECHA_SALIDA];


//HORAS EXTRA
if ($diferencia_horas 8){
    
$horas_extra $diferencia_horas 8;
    echo 
"tienes $horas_extra horas extras";
    echo 
"$diferencia_horas";
}
else {
    echo 
"no tienes horas extras";
    }

echo 
dateDiff("$FECHA_INGRESO""$FECHA_SALIDA");

?>

como podria obtener esa variable $diferencia_horas, ya q esta dentro de un a funcion y no lo puedo usar, en el if --> if ($diferencia_horas > 8){ alli diferencia_horas me da 0 ya q no e obtenido la variable, como la podria hacer ?
  #2 (permalink)  
Antiguo 20/12/2009, 12:21
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda con variable de funcion

Código PHP:
<?php
#yo lo haria asi =)

function dateDiff($fecha_ingreso$fecha_salida$ret=0) { 
$fecha_ingreso_ts strtotime($fecha_ingreso); 
$fecha_salida_ts strtotime($fecha_salida); 
$diferencia_fechas $fecha_salida_ts $fecha_ingreso_ts
$diferencia_horas round($diferencia_fechas 3600); 

if(
$ret==0){
    return 
"<br>trabajaste: ".$diferencia_horas." horas"
}else if(
$ret==1){
    return 
$diferencia_horas;
}
}

$select=@mysql_query("SELECT CONTROL_FECHA_INGRESO, CONTROL_FECHA_SALIDA FROM control 
                     WHERE CONTROL_CODIGO = 1"
) or die (mysql_error()); 

$registros mysql_fetch_array($select); 
$FECHA_INGRESO=$registros[CONTROL_FECHA_INGRESO]; 
$FECHA_SALIDA=$registros[CONTROL_FECHA_SALIDA]; 

#no uses comillas, no es necesario
$dif_hs=dateDiff($FECHA_INGRESO$FECHA_SALIDA,1);

//HORAS EXTRA 
if ($dif_hs 8){ 
    
$horas_extra $dif_hs 8;
    
    
#ojo
    
echo "tienes ".$horas_extra." horas extras"

    
#no hacen falta las comillas
    
echo $dif_hs

else { 
    echo 
"no tienes horas extras"
    } 

echo 
dateDiff($FECHA_INGRESO$FECHA_SALIDA); 

?>
  #3 (permalink)  
Antiguo 20/12/2009, 12:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Ayuda con variable de funcion

como haria para poner la fecha actual ?

$dif_hs=dateDiff($FECHA_INGRESO, 'now()',1);

la de ingreso la saco del a bd pero la de salida tengo q ponerle la de ahorita ?

now no me funciona
  #4 (permalink)  
Antiguo 20/12/2009, 12:59
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda con variable de funcion

jajja es que now() no existe me parece =P excepto que la hayas hecho....

usat date('Y-m-d')
  #5 (permalink)  
Antiguo 20/12/2009, 13:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Ayuda con variable de funcion

jojo gracias, recuerdo que now era para la bd

gracias eh!! me funcionó de maravilla
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 21:57.