Marinho 0 Denunciar post Postado Março 15, 2011 Olá a todos! Tenho 3 tabelas: banners, relacionamento, cliques Preciso exibir os banners na order do qual teve mais cliques. Alguém tem algum ideia de como se faz? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
horacio2009 1 Denunciar post Postado Março 15, 2011 EU faria dessa forma... select * from cliques count('clique')as tudo group by codigo(presumindo que sua chave primaria seja codigo) order by tudo desc aí, você cria uma lista com os códigos mais clicados(a pesquisa ai em cima é fundamental) bom, você pega e de posse dos dados, cria uma função que descobre qual o banner referente ao código, descobriu, aí basta imprimir... mais ou menos assim: $sql="select * from cliques count('clique')as tudo group by codigo(presumindo que sua chave primaria seja codigo)"; $tab=mysql_query($sql); $linhas=mysql_num_rows($tab); // echo"$linhas"; $x="0"; for($x;$x<$linhas;$x++) { $codigo=mysql_result($tab,$x,'codigo'); //chama a função "verifica", sei lá... $imagem=verifica("$codigo"); //aí, eu vou imprimir a variável $imagem echo"<div class='formatandoadiv'>$imagem</div>"; ) aí, você tem que criar a função "verifica" function verifica($codigo) { //você lança outra query aqui, para descobrir qual o banner $outraquery="select * from banner where codigodobanner='$codigo'"; $tab=mysql_query($outraquery); $linhas=mysql_num_rows($tab); $x="0"; for($x;$x<$linhas;$x++) { $meubanner=mysql_result($tab,$x,'meubanner'); return "$meubanner"; ) } eu sempre faço dessa forma quando tenho um monte de coisas relacionadas...também deve dar para fazer pesquisando em X tabelas, mas por mania mesmo, eu faço assim..rsrs preciso treinar mais query em duas tabelas!! mas desa forma que eu te passei, deve resolver.... Boa sorte aí, amigo!!! Horácio Compartilhar este post Link para o post Compartilhar em outros sites