[mysql] Consultar mediante rango de fechas en una sola sentencias ?

Iniciado por Diabliyo, 10 Marzo 2011, 04:17 AM

0 Miembros y 1 Visitante están viendo este tema.

Diabliyo

Buenas.

En mi sistema manejo datos que requiero consultar de MySQL que esten dentro del dia actual, vaya, que los datos que se consulten sean del mes/a~o actual.

Cada vez que se insertan datos nuevos existe una entrada en la tabla llamada FECHA en donde se guarda directamente la fecha obtenida mediante la funcion time().

Como puedo consultar los datos que concuerden con la fecha actual ?

Como solucion (momentanea) lo que hago es esto:

Código (php) [Seleccionar]
<?php
# Esta es la tabla (fictisia)
# create table DATOS (
#  TITULO VARCHAR(100) not NULL, 
#  MENSAJE TEXTnot NULL, 
#  FECHA VARCHAR(100) not NULL
#  );

$linkconectar();
$consmysql_query"select * from DATOS;"$link );
if( 
mysql_num_rows($cons) )
    {
    
$cont=0# contador 
    
while( $buf=mysql_fetch_array($cons) )
        {
        
# buscamos entrada del mes y a~o actual
        
if( !strcmpdate("m/y"time()), date("m/y"$buf["FECHA"]) ) ) # si es el mes/a~o actual
            
$cont++;
        }
    }

echo 
'Se encontraron en este mes <b>'$cont'</b> resultados.';
mysql_free_result($cons);
mysql_close($link);
?>

Shell Root

What da faq!
Porque no lo haces directamente en la consulta del MySQL. Es decir,
Código (sql) [Seleccionar]
SELECT *
  FROM DATOS
WHERE (fecha = 'fecha-actual');
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Diabliyo

Cita de: Shell Root en 10 Marzo 2011, 04:30 AM
What da faq!
Porque no lo haces directamente en la consulta del MySQL. Es decir,
Código (sql) [Seleccionar]
SELECT *
  FROM DATOS
WHERE (fecha = 'fecha-actual');


Como ?...

En el scrpt contabilizo las entradas que se hayan echo el MES y A~O actual, como lo haria directo en MySQL ?

Saludos !

Shell Root

Pero es que no entiendo, explicanos con ejemplos reales.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Diabliyo

Cita de: Shell Root en 10 Marzo 2011, 04:43 AM
Pero es que no entiendo, explicanos con ejemplos reales.

Es por demas, lee el ejemplo...

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Diabliyo


Shell Root

Con ejemplos reales, me refiero a los datos que están la base de datos. Y explicando lo que quieres extraer... ¬¬!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Diabliyo

Cita de: Shell Root en 10 Marzo 2011, 05:14 AM
Con ejemplos reales, me refiero a los datos que están la base de datos. Y explicando lo que quieres extraer... ¬¬!

fijate en el script que puse en el primer post, lo que hago es contabilizar las entradas que se publicaron en el MEs y A~O actual, pero es algo pesado cuando ya se tienen MUCHOS DATOS en la bas e:(, vaya, como podria hacerle para directamente en la sentencia MySQL solo consultar los datos que sean del MES y A~O actuales ?

Se puede o no ?

Saludos !

Shell Root

 La siguiente consulta selecciona todos los registros con un valor date_col dentro de los últimos 30 días:
Código (sql) [Seleccionar]
mysql> SELECT something FROM tbl_name
    -> WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;


:http://dev.mysql.com/doc/refman/5.0/es/date-and-time-functions.html
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.