Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/05/2007, 11:19
Avatar de webdesignsite
webdesignsite
 
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_ Ver Mensaje
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!!!
__________________
WebDesignSite
Diseño Web - Altas Buscadores Gratis - Intercambio de Banners - Foros de soporte
http://webdesignsite.bolhost.com/