Foros del Web » Programando para Internet » PHP »

Como cuento los articulos publicados hoy?

Estas en el tema de Como cuento los articulos publicados hoy? en el foro de PHP en Foros del Web. Hola, tengo un problema al intentar contar los articulos publicados en la fecha actual... EN la db la fecha la ingreso con un NOW() seria ...
  #1 (permalink)  
Antiguo 08/07/2003, 12:17
Avatar de Nukelino  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 116
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Como cuento los articulos publicados hoy?

Hola, tengo un problema al intentar contar los articulos publicados en la fecha actual...

EN la db la fecha la ingreso con un NOW()
seria algo asi: 1997-12-15 23:50:26

Miren la consulta asi comprenden el problema que tengo

Código PHP:
$fecha date("d-m-Y");

$poemashoy = @mysql_query("SELECT COUNT(*) FROM tabla_poemas WHERE time = '$fecha'");
$poemashoy mysql_result($poemashoy,0);

echo
"Hoy Tenemos $poemashoy Poemas Nuevos"// devuelve 0 
COmprenden el problema? me recorri todo mysql.com y otras paginas y no imagino como soluionarlo....

Desde ya muchas gracais
  #2 (permalink)  
Antiguo 08/07/2003, 12:27
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Código PHP:
$poemashoy = @mysql_query("SELECT COUNT(*) FROM tabla_poemas WHERE DATE_FORMAT('%d-%m-%Y',time) = '$fecha'"); 
__________________
Manoloweb
  #3 (permalink)  
Antiguo 08/07/2003, 15:45
Avatar de Nukelino  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 116
Antigüedad: 14 años, 8 meses
Puntos: 0
Me sigue devolviendo 0 y hoy tube + de 50 ingresos...

No se cual sera el problema,...

Reitero, la columna time es del tipo "2003-07-08 15:04:49"

Código PHP:
$fecha date("d-m-Y");

$npoemas = @mysql_query("SELECT COUNT(*) FROM tabla_poemas ");
$npoemas mysql_result($npoemas,0);

$poemashoy = @mysql_query("SELECT COUNT(*) FROM tabla_poemas WHERE DATE_FORMAT('%d-%m-%Y',time) = '$fecha'");
$poemashoy mysql_result($poemashoy,0);

echo
"Tenemos $npoemas Poemas en la Base de Datos."
."<br>"
."Hoy Publicaron $poemashoy Poemas ($fecha) "
  #4 (permalink)  
Antiguo 08/07/2003, 16:09
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
$poemashoy = @mysql_query("SELECT COUNT(*) FROM tabla_poemas WHERE DATE_FORMAT('%Y-%m-%d',time) = curdate()");
__________________
Manoloweb
  #5 (permalink)  
Antiguo 08/07/2003, 19:45
Avatar de Nukelino  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 116
Antigüedad: 14 años, 8 meses
Puntos: 0
que lastima , no me funcion, como expresa la fecha curdate¿?
  #6 (permalink)  
Antiguo 08/07/2003, 20:00
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
2003-07-25

Yo ya lo probé localmente y me funciona... por que no pegas la estructura de la tabla y algunos registros??
__________________
Manoloweb
  #7 (permalink)  
Antiguo 08/07/2003, 21:40
Avatar de sir_notos  
Fecha de Ingreso: noviembre-2001
Ubicación: Mexicali
Mensajes: 709
Antigüedad: 16 años
Puntos: 1
por que no usan mysql_num_rows() ?
__________________
Usuario Registrado de linux #374849
  #8 (permalink)  
Antiguo 09/07/2003, 10:24
Avatar de Nukelino  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 116
Antigüedad: 14 años, 8 meses
Puntos: 0
|pid | titulo | time | poemas|comentarios|autor|
|18 | Sin Paz | 2003-04-02 04:43:39 |Bla... | 2 |Pepe |


Veran como es el campo TIME, ahora como lo comparo con la fecha actual para contar los articulos de hoy?

Última edición por Nukelino; 09/07/2003 a las 10:32
  #9 (permalink)  
Antiguo 09/07/2003, 21:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Esto que puso Manoloweb .. debería funcionar:

Código PHP:
$poemashoy = @mysql_query("SELECT COUNT(*) FROM tabla_poemas WHERE DATE_FORMAT('%Y-%m-%d',time) = curdate()"); 
Se "formatea" el campo fecha de tu BD al que entrega curdate() (la fecha sólo actual) ...

Más info:
http://www.mysql.com/doc/en/Date_and...functions.html

sir_notos
Cita:
por que no usan mysql_num_rows() ?
Esa función de mysql obliga a que Mysql haga una consulta TOTAL de los registros que entrege y de ahí cuenta los que resulten. Esto implica más tiempo de proceso de Mysql y de PHP por médio ademas de gasto de recursos innceseraios para este caso. COUNT() de Mysql te arroja sólo un registro/campo con el total de la "cuenta" (por eso se accede a ese único resultado con mysql_result() por ejemplo ...) Para este caso y todos los que tengas que entregar un "total" sólo es más optimo usar COUNT() que no mysql_num_rows(), esta función es la que emplearias sin problemas si -ademas- de dar el total de registros de tu consulta realizada .. mostrases dichos datos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:37.