Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

richard nicson

Selecionar Notícias mais lidas por data

Recommended Posts

Boa noite,estou com um problema,eu tenho um script que seleciona as notícias mais vistas do dia,até ai tudo ok,pois estou usando a função date,para pegar a data atual e selecionando no bd todas as notícias mais vistas na data que for igual a atual.

 

Porém preciso arrumar uma forma de pegar as mais vistas da semana e do mês também

 

para pegar os dias eu poderia até fazer isso aqui

$data = date("Y-m-d");
$data2 = date('Y-m-d', strtotime("-6 days"));
$data3 = date('Y-m-d', strtotime("-5 days"));
$data4 = date('Y-m-d', strtotime("-4 days"));
$data5 = date('Y-m-d', strtotime("-3 days"));
$data6 = date('Y-m-d', strtotime("-2 days"));
$data7 = date('Y-m-d', strtotime("-1 days"));

Para pegar os 7 dias anteriores e o atual,o problema está sendo na hora de selecionar e adicionar para dar a contagem correta.

 

eu tenho esse select pronto,mas que não funcionou.

 <?
	 $selecionado333 = "SELECT id_noticia, COUNT(id_noticia) as total FROM noticias_view WHERE data = '$data' AND data = '$data1' AND data = '$data2' AND data = '$data3' AND data = '$data4' AND data = '$data5' AND data = '$data6' AND data = '$data7' GROUP BY id_noticia ORDER BY total desc LIMIT 5";
$sql333 = mysql_query($selecionado333);
   
    while($resultado333 = mysql_fetch_array($sql333)){
	   $id_noticia333 = $resultado333['id_noticia'];
	   $buscano333 = "SELECT * FROM noticias where id = '$id_noticia333'";			
	   $sql333 = mysql_query($buscano333);
	   $resultado444 = mysql_fetch_array($sql333);
	   $titulo333 = $resultado444['titulo'];
	   $foto333 = $resultado444['foto'];
	
	   ?>

Qual a forma correta que eu possa usar,para acrescentar as notícias mais vistas dos 7 dias e depois usar a mesma coisa com os 30 dias.

 

 

Obrigado desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Eletronic,consegui usar um script que tinha guardado aqui,e fazer com que leia de acordo com a data usando o script abaixo.

$data = date("Y-m-d");
$mes = date("m");
$ano = date("Y");
$dia = date("d");

$dia1 = $dia-$dia+1;
$dataH = "$ano-$mes-$dia";
$dataA = "$ano-$mes-$dia1";

$diaS = $dia-date("w");
	if($diaS<="9"&ereg("(^[1-9]{1})",$diaS)) {
 	$diaS = "0".$diaS;
  	} 
	//echo "$diaS";

$dataS = "$ano-$mes-$diaS";

Depois foi só pegar de acordo com o correto,semana datas e mes datah

Compartilhar este post


Link para o post
Compartilhar em outros sites

se conseguiu beleza

mas dava pra eliminar todo esse codigo PHP como select

select * from tbname
where date between date_sub(now(),INTERVAL 1 WEEK) and now()
order by views desc;

a mesma coisa com o mes

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.