Estoy completamente de acuerdo con esa apreciacion, este foro es para todos aprender, yo personalmente soy muy nuevo en php, y este foro ha sido de gran ayuda para mi, asi que aqui va mi sugerencia:
Yo cree una aplicacion donde se registra la entrada y la salida de los empleados de los almacenes para la empresa en la que trabajo, esta aplicacion registra el tiempo laborado por el empleado y si ha tenido horas extras.
tengo dos tablas en la base de datos: una llamada marcaciones y otra llamada turnos.
Marcaciones tiene: Cedula del empleado, fecha, hora, y tipo (este ultimo campo es de vital importancia para la aplicacion)
1. Cree un formulario que se llama registrar, ese formulario tiene un campo para ingresar la cedula y un boton. Ademas tiene la hora actual.
2.Cuando un dato se envia desde el formulario llamado registrar se hace el siguiente proceso:
Selecciono de la tabla marcaciones todos los campos que coincidan con la cedula del
empleado y los ordeno por fecha "desc" y por hora "desc" con limit (0,1). Al utilizar "desc"
para la fecha y la hora la consulta me retorna la ultima marcacion hecha por una
persona y con limit me toma entre 0 y 1 registros. De esta manera en la consulta tengo
la ultima marcacion que realizo una persona,
Si hay un resultado miro que tipo de marcacion tiene ese resultado, si el tipo = 'ent'
es porque la ultima marcacion fue una entrada, lo cual quiere decir que vamos a
registrar una salida. En este punto inserto en la tabla marcaciones un nuevo
registro con la cedula de la persona, la fecha actual, la hora actual y en tipo='sal'
(una salida).
Ademas cuando se registra una salida se debe registrar cuanto tiempo ha labo
rado el empleado, por lo cual se va a la tabla turno y se consignan este valor.
Si el resultado de la consulta tiene como tipo de marcacion 'sal' voy a la tabla marcaciones y registro una entrada, y sino se encuentra nada es porque ese empleado nunca ha ingresado, entonces va a registrar su primer ingreso, por lo tanto se debe registrar como una entrada tambien.
Esto es a grandes rasgos, es un poco complicado en un principio pero si piensa la logica del proceso se puede entender mucho mas facil, espero que sea de ayuda.