Estuve haciendo pruebas y creo que esto te deberia de funcionar a como creo que funcionaria el sistema.
Solo tengo algunas dudas con ciertos valores como son la variable $row, quisiera saber de donde la sacas y varios detalles similares, ¿podrias explicarme que es lo que tratas de hacer en este sistema?
bueno aqui te dejo mi prueba a como considero que funciona:
En esta parte tomamos el codigo y fecha actual, creamos la conexion con la base de datos y buscamos si existe algun alumno con ese codigo y con esa fecha.
Código PHP:
<?php
$codigo = "somevalue";
$fecha_hoy = date("Y/m/d");
$time = date("g:i:s");
$conexion = mysql_connect("localhost","user","password");
$consulta_entrada = "SELECT * FROM `asistencia_alumno` WHERE `COD_ALUMNO` = '".$codigo."' AND `DIA` = ".$fecha_hoy;
$res = mysql_query($consulta_entrada,$conexion);
$row_res = mssql_fetch_array($res);
Comprobamos la respuesta para ver si la regreso vacia, al regresarla vacia acordamos que no hay registro para ese alumno este dia y procedemos a insertar el registro correspondiente del dia de hoy, en dado caso de regresar algun valor tambien comprobamos que su entrada sea = a 0.
Código PHP:
if(empty($row_res['NUMERO_ENTRADA']) || $row_res['NUMERO_ENTRADA'] == "0"){
$c = "INSERT INTO `asistencia_alumno` VALUES('".$row['cod_alumno']."','".$row['ap_paterno']."','".$row['ap_materno']."','".$row['nombres_alumno']."',". $fecha_hoy.",".$time.",'','1','P')";
$resultinsert = mysql_query($c,$conexion) or die("No se realizo la inserccion de asistencia del alumno");
}
En caso de que si exisitiera un alumno en la primera respuesta, procedemos a verificar si ya tenia alguna entrada previa e ingresamos esta entrada como la segunda
Código PHP:
if($row_res['NUMERO_ENTRADA'] == "1"){
$c = "INSERT INTO `asistencia_alumno` VALUES('".$row['cod_alumno']."','".$row['ap_paterno']."','".$row['ap_materno']."','".$row['nombres_alumno']."',".$fecha_hoy.",".$time.",'','2','P')";
$resultinsert = mysql_query($c,$conexion) or die("No se realizo la inserccion de asistencia del alumno");
}
En dado caso de que ya tuviera una entrada previa, revisamos si es su segunda y agregamos el valor 3 a sus entradas.
Código PHP:
if($row_res['NUMERO_ENTRADA'] == "2"){
$c="INSERT INTO `asistencia_alumno` VALUES('".$row['cod_alumno']."','".$row['ap_paterno']."','".$row['ap_materno']."','".$row['nombres_alumno']."',".$fecha_hoy.",".$time.",'','3','P')";
$resultinsert=mysql_query($c,$conexion) or die("No se realizo la inserccion de asistencia del alumno");
}
?>
Yo supongo que despues de esto el usuario no tiene derecho a entrar y es despedido de clase por ser inpuntual y un flojo
Aun sigo pensado que se podria hacer de una manera mas sencillas y ordenada, pero en este momento estoy trabajando y no puedo darte un ejemplo mas complejo.