Ver Mensaje Individual
  #17 (permalink)  
Antiguo 30/10/2009, 08:19
Avatar de gjx2
gjx2
 
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: guardar un dato si se cumple una condicion

Sinai21

Sigueme la idea.




Esto es solo a modo de ejemplo
Ya luego usted lo reemplaza con los campos validos de su tabla.

Problema:
Deseo insertar hr_entrada, cedula , fecha cuando el usuario no exista en una fecha determinada
y si existe deseo actualizar el campo Hr_salida de ese usuario.


Posible solucion:

Código PHP:
Ver original
  1. // Si es por primera vez que entra el usuario en el dia de hoy esta consulta le devolvera cero registros encontrados.
  2.     $sql = mysql_query("select * from asistencia where (Cedula = '$cedula') and (Fecha= '$Fecha' and Hr_entrada < $hr_Actual )")or die(mysql_error());
  3.    
  4.  
  5.     if(mysql_num_rows($sql)>0){
  6.         // Si la consulta devuelve dato entonces quiere decir que ese usuario entro en el dia de hoy , solo tengo que actualizar su campo con la hr de salida.
  7.        
  8.         mysql_query("update asistencia Hr_Salir = '$hr_Actual' where Fecha=$Fecha and Cedula='$Cedula'");
  9.    
  10.    
  11.     }else{
  12.         // En el caso de que ese usuario de que el usuario no entro en el dia de hoy , inserto un nuevo dato.
  13.     mysql_query("insert into asistencia(Fecha,Cedula,Hr_entrada)values('$Fecha','$Cedula','$hr_Actual'");
  14.    
  15.     }


La variable $hr_Actual la obtiene con la hora del momento en que estas insertando el dato

Algo como

Código PHP:
Ver original
  1. $hr_Actual = date("H:i:s");

Última edición por gjx2; 30/10/2009 a las 08:27 Razón: Explicacion de la VARIABLE $hr_Actual