Hola
Marvin, de verdad muchas gracias por atender mi mensaje, todo el día peleando buscando la forma como hacer funcionar tu propuesta pero solo consigue crear el archivo log.txt pero no realiza cambios a nivel Mysql
Pego nuevamete la tabla MySql y el cpodigo PHP, Capaz yo esté haciendo algo mal.
Código PHP:
CREATE TABLE alumno (
id_alumno int(11) NOT NULL auto_increment,
fechafinal_dia varchar(11) NOT NULL default '0',
fechafinal_mes varchar(15) NOT NULL,
fechafinal_anio varchar(11) NOT NULL default '0',
alumno_nombre varchar(100) NOT NULL,
alumno_apellidos varchar(100) NOT NULL,
alumno_secundaria varchar(200) NOT NULL,
alumno_nota varchar(100) NOT NULL,
fechafinal_flag int(1) NOT NULL default '0',
PRIMARY KEY (id_alumno)
) ENGINE=MyISAM;
INSERT INTO alumno VALUES (1, '01', '06', '08', 'Pepe1', 'Bolitas1', 'Matematica', 'a', 1);
INSERT INTO alumno VALUES (2, '10', '06', '08', 'Pepe2', 'Bolitas2', 'Religion', 'b', 1);
INSERT INTO alumno VALUES (3, '27', '06', '08', 'Pepe3', 'Bolitas3', '', 'a', 0);
INSERT INTO alumno VALUES (4, '11', '07', '08', 'Pepe4', 'Bolitas4', 'Gramatica', 'c', 1);
INSERT INTO alumno VALUES (5, '15', '07', '08', 'Pepe5', 'Bolitas5', 'Fisica', 'b', 1);
INSERT INTO alumno VALUES (6, '16', '07', '08', 'Pepe6', 'Bolitas6', 'Biologia', 'c', 1);
INSERT INTO alumno VALUES (7, '18', '07', '08', 'Pepe7', 'Bolitas7', 'Arte', 'a', 1);
INSERT INTO alumno VALUES (8, '22', '07', '08', 'Pepe8', 'Bolitas8', 'Ciencias N', 'c', 1);
INSERT INTO alumno VALUES (9, '21', '07', '08', 'Pepe9', 'Bolitas9', 'Religion', 'a', 1);
INSERT INTO alumno VALUES (10, '01', '08', '08', 'Pepe10', 'Bolitas10', 'Quimica', 'c', 1);
Código PHP:
<?
include("conexion.php");
//CURDATE() = año-mes-dia
$sql = "SELECT id_alumno, alumno_nombre, alumno_apellidos
FROM alumno
WHERE CONCAT(fechafinal_anio,'-',fechafinal_mes,'-',fechafinal_dia) = CURDATE()
and fechafinal_flag=1
";
$result = mysql_query($sql);
$i = 0;
while($data = mysql_fetch_array($result)){
$listadoFFAlumnos[$i]['id_alumno'] = $data['id_alumno'];
$listadoFFAlumnos[$i]['alumno_nombre'] = $data['alumno_nombre'];
$listadoFFAlumnos[$i]['alumno_apellidos'] = $data['alumno_apellidos'];
//agregamos dos datos para saber si se actualizo o no
$listadoFFAlumnos[$i]['ok'] = 0;
$listadoFFAlumnos[$i]['error'] = 0;
$i++;
}
//contadores
$i = 0;
$j = 0;
//numero de elementos en $listadoFFAlumnos
$num = count($listadoFFAlumnos);
//archivo para crear log
$archivo = fopen("log.txt","a") or die("Problemas en la creacion");
$fecha = date("d-m-Y H:i:s");
//Primera linea para diferenciar de otro dia
fputs($archivo, "Log dia: [".$fecha."]\r\n");
//hacemos el update
for($a=1;$a<$num;$a++){
$sqU = "UPDATE alumno
SET fechafinal_flag = 0
WHERE id_alumno = ".$listadoFFAlumnos[$a]['id_alumno'];
//para saber si se ejecuto
if(mysql_query($sql)){
//agregamos que ha tenido exito
$listadoFFAlumnos[$a]['ok'] = 1;
//contador de cambios exitosos
$i++;
}else{
//agregamos que ha fallado
$listadoFFAlumnos[$a]['error'] = 1;
//contador de cambios fallidos por si quieres agregar mas info
$j++;
}
}
fputs($archivo, "Se han actualizado ".$i." de ".$num." alumnos\r\n");
fputs($archivo, "Detalle de actualizaciones:\r\n");
//recorremos $listadoFFAlumnos para ver su detalle
for($b=0;$b<$num;$b++){
$estado = "Sin informacion";
if($listadoFFAlumnos[$b]['ok'] == 1){
$estado = "Exitoso";
}elseif($listadoFFAlumnos[$b]['error'] == 1){
$estado = "ERROR";
}
fputs($archivo, $b."- ".$listadoFFAlumnos[$b]['alumno_nombre']." ".$listadoFFAlumnos[$b]['alumno_apellidos']." [".$estado."]\r\n");
}
fputs($archivo, "\r\nFin Log [".$fecha."]\r\n======================================\r\n\r\n");
fclose($archivo);
?>