panob 0 Denunciar post Postado Novembro 22, 2006 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
augustogava 0 Denunciar post Postado Novembro 22, 2006 Opa seja bem vindo! http://forum.imasters.com.br/index.php?sho...0&hl=random Compartilhar este post Link para o post Compartilhar em outros sites
Dreams Internet Services 0 Denunciar post Postado Novembro 22, 2006 select * FROM fotos WHERE data > '$data_criacao' ORDER BY RAND() LIMIT 0,10 Compartilhar este post Link para o post Compartilhar em outros sites
panob 0 Denunciar post Postado Novembro 22, 2006 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
Dreams Internet Services 0 Denunciar post Postado Novembro 23, 2006 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
panob 0 Denunciar post Postado Novembro 23, 2006 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
Illidan 0 Denunciar post Postado Novembro 23, 2006 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