![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
30/05/2007, 11:19
|
![Avatar de webdesignsite](http://static.forosdelweb.com/customavatars/avatar166702_1.gif) | | | Fecha de Ingreso: enero-2007
Mensajes: 155
Antigüedad: 18 años Puntos: 1 | |
Re: Consulta p/ ordenar BD por fecha Cita:
Iniciado por Nexus_ Puedes usar esta función: Código PHP: <?php function suma_fechas($fecha,$ndias){ if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha)){ list($dia,$mes,$año)=split("/", $fecha); } if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha)){ list($dia,$mes,$año)=split("-",$fecha); } $nueva = mktime(0,0,0, $mes,$dia,$año) + $ndias * 24 * 60 * 60; $nuevafecha=date("d-m-Y",$nueva); return ($nuevafecha); } ?> http://dns.bdat.net/trucos/faqphp-v1/x385.html
Le pasas a la función la antiguedad máxima del post que quieras buscar (por ejemplo 7 días). Código PHP: $ndias=-7; $fecha=date("d-m-Y"); $limite=suma_fechas($fecha,$ndias);
Y luego solo es hacer el query Código PHP: $result=mysql_query("SELECT * from `tabla` WHERE 'fecha' >= $limite", $link);
La función es para tipo de dato "date", para "datetime" habría que modificarlo. Lo mismo tambíen funciona, aunque no lo he probado.
Saludos
No funciona del todo bien, yo quisiera que los resultados se listen según por ej. mensaje escrito hace 1 día, o 2 semanas o 1 año, etc según hora actual y este script imprime todos los resultados o ninguno, por ej tengo 10 registros insertados en BD si coloco $ndias=-10; aparecen todos pero si $ndias=-9; o menos no aparece ningún resultado, me explico?, espero que entienda lo que quisiera.
Nuevamente gracias.
Saludos!!! ![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png) ![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png) |