Foros del Web » Programando para Internet » PHP »

Mostrar post más popular de ayer y de hoy

Estas en el tema de Mostrar post más popular de ayer y de hoy en el foro de PHP en Foros del Web. Muy buenas, en mi sitio hemos implementado unas votaciones para cada post por las que cada usuario otorga un determinado número de puntos al post ...
  #1 (permalink)  
Antiguo 28/05/2011, 11:54
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Mostrar post más popular de ayer y de hoy

Muy buenas, en mi sitio hemos implementado unas votaciones para cada post por las que cada usuario otorga un determinado número de puntos al post que visualiza (si lo desea) y eso nos permite un poco hacer listarlos por popularidad. Hasta el momento no he tenido problema con los listados de popularidad por mes y por semana usando strtotime().
Pero en la portada quiero mostrar el más popular de ayer y el de hoy. Para el de hoy creo que no hay error, pero no sé como especificar la fecha de "ayer". Os pongo el código que tengo puesto ahora a ver si alguien puede orientarme.

Código:
<?php
			$fdhoy = date('Y-m-d');
			$fdayer = date('Y-m-d', strtotime( "-1 day", strtotime( $fdhoy ) ) );  

			
			
			$rows_hoy = $wpdb->get_results("SELECT DISTINCT(id_post), SUM(puntuacion), COUNT(id) FROM `pw_ratings` WHERE fecha >= '".$fdhoy."' GROUP BY id_post ORDER BY SUM(puntuacion) DESC LIMIT 1");
			$id_post_hoy = $rows_hoy[0]->id_post;
			
			$rows_ayer = $wpdb->get_results("SELECT DISTINCT(id_post), SUM(puntuacion), COUNT(id) FROM `pw_ratings` WHERE fecha >= '".$fdayer."' GROUP BY id_post ORDER BY SUM(puntuacion) DESC LIMIT 1");
			$id_post_ayer = $rows_ayer[0]->id_post;
                            
               
		?>
Lo que más me inquieta de todo, es que a veces el post es el mismo en ambos casos, cosa dificil porque el select especifica la fecha en la que realizar la búsqueda. O incluso a veces se invierten de lugar, uno publicado hoy sale donde debería estar el de ayer y viceversa.. alguien me puede orientar un poco o sabe donde está el fallo? Muchas gracias de antemano
  #2 (permalink)  
Antiguo 29/05/2011, 11:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Mostrar post más popular de ayer y de hoy

pues la funcion esta dando los resultados que tu le indicas, fijate cuando tu dices esto
Cita:
WHERE fecha >= '".$fdayer."'
estas indicando que sea mayor o igual a la fecha de ayer es decir puede ser ayer o hoy, si deseas que solo sea ayer deberias decirle que sea igual unicamente WHERE fecha = '".$fdayer."', eso segun entendi que tienes por separado los temas populares de ayer y los temas populares de hoy, saludos espero que te sea de ayuda
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 29/05/2011, 13:26
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Mostrar post más popular de ayer y de hoy

Gracias por la respuesta Carlos, pero curiosamente si elimino el símbolo > de la sintaxis, no devuelve resultado alguno. Alguien sabe porqué puede ser?
  #4 (permalink)  
Antiguo 29/05/2011, 14:19
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Mostrar post más popular de ayer y de hoy

y el dia anterior tenias post votados?? porque si vemos la sentencia SQL si deseas un voto de un post de un dia en especifico seria de la manera que te plantie, de todas maneras ejecuta la sentencia en tu gestor de base de datos a ver si ahi te da resultados, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 29/05/2011, 15:15
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 9 meses
Puntos: 998
Respuesta: Mostrar post más popular de ayer y de hoy

perdona, pero esto es php y sql simple, que tiene que ver wp? muevo al foro de php..
  #6 (permalink)  
Antiguo 30/05/2011, 06:10
 
Fecha de Ingreso: abril-2011
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Mostrar post más popular de ayer y de hoy

Webosiris : La consulta está claramente hecha dentro de wp($wpdb), a veces he encontrado que por ese hecho algunos parámetros y demás tienen que ser cambiados por restricciones y demás problemas. Aún así, gracias por el traslado gratuito.

Carlos: todos los días tengo post votados, de hecho si no lo están los voto yo para verificar la veracidad del script, pero lamentablemente si elimino > de la sintaxis no devuelve resultado alguno. Lo cierto es que no alcanzo a comprender porqué....
Aún así, muchas gracias por tu ayuda... y tomarte la molestia de responder.

Etiquetas: popular, post, wordpress
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 14:40.