La idea es la siguiente, en esta parte del sistema estoy creando una ficha y resulta que por funcionario solo puedo crear una ficha anual entonces que es lo que estoy haciendo en el código el cual es con php y mysql(wamp) la idea que en el formulario crear ficha el usuario ingresa el rut del funcionario(como el id del fucionario) y la fecha en la cual se esta creando la ficha (los otros datos se crean automáticamente al insertadr en la BD) y le da al botón "CREAR FICHA" entonces los datos le llegan a la función "IngresaFicha", y el código de la función es este
Código PHP:
public function IngresaFicha($ficha) {
$conexion=new conexion();
$link=$conexion->Conectarse();
//aquí obtengo el rut enviado por la caja de texto(id del Funcionario)
$rut=$ficha->getrut();
//aquí obtengo la fecha enviada por el usuario en la caja de texto " fN=fecha nueva "
$fN=$ficha->getfecha();
//aquí obtengo solo el año de la fecha enviada por el usuario
$fN=date("Y");
//query selecciono el "AÑO" de las fechas que ya están ingresadas en la BD y que estén unidas por el rut
$sql=mysql_query("SELECT YEAR(fecha) FROM ficha WHERE rutFuncionario='$rut'");
//retorna cantidad de filas de resultado de query
$cnt_ficha=mysql_num_rows($sql);
//ciclo
for($i=0;$i<=$cnt_ficha;$i++)
{
//por cada resultado, consultamos la fecha de acuerdo a posicion de $i
$fecha=$row_ficha[$i]['0'];
//pregunto si la fecha(AÑO) de la BD es = a la fecha(AÑO) enviada por el usuario provoca error
if ($fecha==$fN){
return false;}
//de lo contrario realizo nueva insercion
else{
$query1= "SELECT MAX(numFicha) from ficha where rutFuncionario ='$rut'"; $res=mysql_query($query1,$link);
while ($row=mysql_fetch_row($res)){
$MX = $row[0];}
$numFinal=$MX+1;
$query="INSERT INTO ficha (numFicha,fecha,sexo,hora,rutFuncionario,lugarTrabajo,Estado)VALUE ('$numFinal','".$ficha->getfecha()."','".$ficha->getsexo()."','".$ficha->getreloj()."','".$ficha->getrut()."','".$ficha->getltrabajo()."','".$ficha->getestado()."');";
$result=mysql_query($query) or die(mysql_error());
return true;
}
}
}
y por ultimo el error que tengo es que ingresa de todas formas fichas de cualquier año sin verificar si la fecha existe previamente.
PD...: en la comparación de la fecha lo único que me interesa comparar es el año no me interesa ni el dia ni el mes
De antemano muchas gracias