Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/07/2014, 03:37
emr
 
Fecha de Ingreso: mayo-2005
Mensajes: 13
Antigüedad: 19 años
Puntos: 0
Mensaje Respuesta: controlar que no hayan pasado más de 5 días

Pues...probé con la sentencia SQL que me dijisteis...pero me daba error...
También probé con el -> diff...pero también me daba error...así que decidí que tardaba menos en hacerlo "a lo bruto" que en comprobar y resolver esos errores!! jeje.

Aquí pongo mi solución, aunque es muy "rústica"...

$consulta1="SELECT * FROM parte";
$datos1=mysql_query($consulta1);
while($fila1=mysql_fetch_array($datos1))
{
$array= explode('-',$fila1[FECHA_CREACION]);
$a2=$array[0];
$m2=$array[1];
$d2=$array[2];

echo"<tr>";
echo"<td>";
if((($d-$d2)<=5)&&(($d-$d2)>=0)&&($m==$m2)&&($a==$a2))
{
echo"$fila1[FECHA_CREACION]";
}
else if($d<5)
{
if(($m!=1)&&($m==($m2+1))&&($a==$a2))
{
//dentro del mismo año
if(($m==2)||($m==4)||($m==6)||($m==8)||($m==9)||($ m==11))
{
//31 días
if(($d2-$d)>=26)
{
echo"$fila1[FECHA_CREACION]";
}
}
else
{
if(($m==3)&&(($d>=$d2)||(($d2-$d)>=23)))
{
//ojo bisiestos
echo"$fila1[FECHA_CREACION]";
}
else
{
if(($d2-$d)>=25)
{
echo"$fila1[FECHA_CREACION]";
}
}
}
}
else
{
//año distinto
if(($m==1)&&($m2==12)&&($a==($a2+1)))
{
if(($d2-$d)>=26)
{
echo"$fila1[FECHA_CREACION]";
}

}
}
}
echo"</td>";
echo"</tr>";
}



Aunque parezca mentira...al parecer funciona (excepto en años bisiestos....)