Ir para conteúdo

POWERED BY:

Arquivado

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

panob

Registros aleatorios no MySQL

Recommended Posts

Ois a todos.

 

Conheci este site à pouco tempo e este é o meu primeiro post aqui. :)

 

Peço ajuda aqui. Tenho este código:

 

$p_u="select * FROM fotos WHERE data > '$data_criacao' ORDER BY visitas DESC LIMIT 0,10";$r_u=mysql_query($p_u) or die ("Erro");while($a=mysql_fetch_array($r_u)) {	echo $a["nome"];	...}
O código em cima lista todas as fotos que tenham uma data superior a X e ordenadas pelas mais visitadas.

O que eu preciso é que essas fotos sejam listadas de forma aleatória.

 

Não tou a conseguir chegar. Obrigado pelo tempo que colocarem neste problema.

DeepAzul

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alo,Obrigado pelos vossos replys, mas ainda tou sem saber como fazer.Será possível colocar os 10 registros num array, aplicar um randomize e usa-os logo abaixo?Dreams Internet Services, o seu query estaria certo, mas infelizmente falta aí algo importante o ORDER BY visitas.. isso é filtra apenas as 10 melhores..Será possivel aplicar o RAND() ao mesmo tempo?[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, agora eu entendi o que você quer.

Cara, eu não tenho muita certeza de como fazer, pois faz muito tempo que não passo por uma situação assim, e agora estou com pouco tempo para testar, vou postar a sixtase aqui, se não der certo, poste aqui para que eu possa enviá-lo a sixtase correta. O nome disso é sub-consulta.

 

SELECT * FROM FOTOS ORDER BY RAND() IN ( select * FROM fotos WHERE data > '$data_criacao' ORDER BY VISITAS DESC LIMIT 10);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alooo

 

Infelizmente ainda não deu... tenho assim:

 

$p_u="SELECT * FROM FOTOS ORDER BY RAND() IN ( select * FROM fotos WHERE data > '$data_criacao' ORDER BY VISITAS DESC LIMIT 10)";$r_u=mysql_query($p_u) or die ("Erro");

Dá Erro... algo deve estar errado nessa linha

 

Obrigado pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

SELECT r.* FROM
	(SELECT f.* FROM fotos f WHERE f.data > '$data_criacao' ORDER BY RAND() LIMIT 10)
r ORDER BY r.visitas DESC

 

[]'s!

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.