manoaj 12 Denunciar post Postado Novembro 28, 2012 pessoal eu queria saber como faço pra exibir os meus registros dos banco de dados de acordo com uma tabela , por exemplo eu tenho uma tabela onde são registrados os participantes do top e nessa tabela tenho a coluna votos então eu queria exibir de acordo com quem tem mais votos , e da uma colocação para cada candidato , ou seja o candidato que tem mais votos eu queria que alem de ser exibido em primeiro eu queria também que aparecesse o numero 1 mostrando que ele é o primeiro e assim sucessivamente com o restante dos usuarios . é possivel faser isso? Compartilhar este post Link para o post Compartilhar em outros sites
Guilherme Oderdenge 42 Denunciar post Postado Novembro 28, 2012 Considerando que você esteja utilizando o MySQL, lhe apresento o ORDER BY. Uma demo rapidinha: SELECT {something} FROM {table} ORDER BY votes_quantity DESC :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Novembro 29, 2012 Considerando que você esteja utilizando o MySQL, lhe apresento o ORDER BY. Uma demo rapidinha: SELECT {something} FROM {table} ORDER BY votes_quantity DESC :thumbsup:/> sim isso eu sei mais ou menos o problema é que eu queria saber como faço pra dar o numero da posição deles em relação a quantidade de votos por exemplo o usuario joao tem 200 votos e o usuario marcos tem 100 votos então eu queria exibir um numero de classificação pra eles falando que o joao esta em primeiro e o marcos esta em segundo Compartilhar este post Link para o post Compartilhar em outros sites
Usfe 8 Denunciar post Postado Novembro 29, 2012 sim isso eu sei mais ou menos o problema é que eu queria saber como faço pra dar o numero da posição deles em relação a quantidade de votos por exemplo o usuario joao tem 200 votos e o usuario marcos tem 100 votos então eu queria exibir um numero de classificação pra eles falando que o joao esta em primeiro e o marcos esta em segundo Bom se entedi acho que no momento em que você estiver fazendo o laço while({variavel} = {função}){ $posicao++ //acrescente esse contador a cada volta que o laço fizer ele conta mais um. } ok ;) Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Novembro 29, 2012 sim isso eu sei mais ou menos o problema é que eu queria saber como faço pra dar o numero da posição deles em relação a quantidade de votos por exemplo o usuario joao tem 200 votos e o usuario marcos tem 100 votos então eu queria exibir um numero de classificação pra eles falando que o joao esta em primeiro e o marcos esta em segundo Desde que as duas tabelas compartilhem alguma coluna em comum. Ex: Tabela usuário: id | nome | idade 01 | José | 20 02 | João | 18 Tabela voto: id | usuario 01 | 01 02 | 01 03 | 02 04 | 01 05 | 02 06 | 02 07 | 01 Veja que a coluna usuário da tabela voto remete à coluna id da tabela usuario Isso se resolve com JOIN. Selecionamos a coluna de uma segunda tabela com os critérios informados. A consulta - para este caso - fica assim: select nome, count(usuario.id) as votos from usuario JOIN voto ON voto.usuario = usuario.id group by usuario.id; Resultado +-------+-------+ | nome | votos | +-------+-------+ | José | 4 | | João | 3 | +-------+-------+ Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Novembro 29, 2012 Bom se entedi acho que no momento em que você estiver fazendo o laço while({variavel} = {função}){ $posicao++ //acrescente esse contador a cada volta que o laço fizer ele conta mais um. } ok ;)/> mano no caso estou fazendo while assim olha <h1 class="title_cat">Categoria: <span style="color:#FFF;">Master</span></h1> <ul id="list-artist_org"> <?php $rap = mysql_query("SELECT id_user, nome, categoria, votos, foto, titulo, bibliografia, nascimento, cadastro_top_data FROM users WHERE categoria='master' ORDER BY voto DESC") or die(mysql_error()); if(@mysql_num_rows($rap) == '0'){ echo "<div class=\"alert_info \">Não existem usuarios cadastrados nesta categoria, se você conhece algum usuario que se encaixe nesta categoria cadastre ele!</div>"; }else{ while($res_rap = mysql_fetch_array($rap)){ $id = $res_rap[0]; $nome = $res_rap[1]; $categoria = $res_rap[2]; $ideal = $res_rap[3]; $foto = $res_rap[4]; $titulo = $res_rap[5]; $bibliografia = $res_rap[6]; $nascimento = $res_rap[7]; $cadastro_top_data = $res_rap[8]; ?> <li> </li> <?php } } ?> </ul> como eu aplico tua logica ae? :upset: Compartilhar este post Link para o post Compartilhar em outros sites
Usfe 8 Denunciar post Postado Novembro 29, 2012 Simples, aquela variavel $posicao++ da qual eu falei ela simplesmente vai atribuindo valor a cada volta do laço é semelhante ao laço for(..; ..; $i++){} no caso ficaria assim: 1º volta do laço: $posicao vale "1" 2º volta do laço: $posicao vale "2" e assim vai... o que faz ele ir somando de um em um é o operado ++(operador de incremento), a posição do usuario é algo que varia então não precisa guardar no banco... eu faria da seguinte forma: while($res_rap = mysql_fetch_array($rap)){ $id = $res_rap[0]; $nome = $res_rap[1]; $categoria = $res_rap[2]; $ideal = $res_rap[3]; $foto = $res_rap[4]; $titulo = $res_rap[5]; $bibliografia = $res_rap[6]; $nascimento = $res_rap[7]; $cadastro_top_data = $res_rap[8]; $posicao++ echo 'Posição: '.$posicao.'º Usuario:'.$nome.'."<br>"; } ?> Resultado: Posição: 1º Usuario: Fernando Posição: 2º Usuario: Maria Posição: 3º Usuario: Manuel acho que mais ou menos assim parceiro tenta ai ;) Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Novembro 29, 2012 Simples, aquela variavel $posicao++ da qual eu falei ela simplesmente vai atribuindo valor a cada volta do laço é semelhante ao laço for(..; ..; $i++){} no caso ficaria assim: 1º volta do laço: $posicao vale "1" 2º volta do laço: $posicao vale "2" e assim vai... o que faz ele ir somando de um em um é o operado ++(operador de incremento), a posição do usuario é algo que varia então não precisa guardar no banco... eu faria da seguinte forma: while($res_rap = mysql_fetch_array($rap)){ $id = $res_rap[0]; $nome = $res_rap[1]; $categoria = $res_rap[2]; $ideal = $res_rap[3]; $foto = $res_rap[4]; $titulo = $res_rap[5]; $bibliografia = $res_rap[6]; $nascimento = $res_rap[7]; $cadastro_top_data = $res_rap[8]; $posicao++ echo 'Posição: '.$posicao.'º Usuario:'.$nome.'."<br>"; } ?> Resultado: Posição: 1º Usuario: Fernando Posição: 2º Usuario: Maria Posição: 3º Usuario: Manuel acho que mais ou menos assim parceiro tenta ai ;)/> erro na linha Parse error: syntax error, unexpected T_ECHO in echo 'Posição: '.$posicao.'º Usuario:'.$nome.'."<br>"; erro na linha Parse error: syntax error, unexpected T_ECHO in echo 'Posição: '.$posicao.'º Usuario:'.$nome.'."<br>"; se tiver como não seria mais facil da a posição deles de acordo com o numero de votos seila ou algo do tipo pq o que tem mais votos sempre vai ficar em acima do que tem menos devido ao order by Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Novembro 29, 2012 erro na linha Parse error: syntax error, unexpected T_ECHO in echo 'Posição: '.$posicao.'º Usuario:'.$nome.'."<br>"; Verifique se há um ponto-e-vírgula (;) no final da linha anterior a essa se tiver como não seria mais facil da a posição deles de acordo com o numero de votos seila ou algo do tipo pq o que tem mais votos sempre vai ficar em acima do que tem menos devido ao order by Não, essa forma que ele postou é a mais fácil. Compartilhar este post Link para o post Compartilhar em outros sites
Usfe 8 Denunciar post Postado Novembro 29, 2012 erro na linha Parse error: syntax error, unexpected T_ECHO in echo 'Posição: '.$posicao.'º Usuario:'.$nome.'."<br>"; se tiver como não seria mais facil da a posição deles de acordo com o numero de votos seila ou algo do tipo pq o que tem mais votos sempre vai ficar em acima do que tem menos devido ao order by o erro é o seguinte... la no código na variável $posicao faltou o ;(ponto e virgula). $posicao++; Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Novembro 30, 2012 galera funcionou mas esta falando que a variavel é indefinida Notice: Undefined variable: posicao e também to com outro problema como tem uma paginação os numeros voltam a se repetir na pagina seguinte tipo vai do 1 ao 10 na primeira e na segunda começa do 1 denovo ? pq Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 1, 2012 tipo a variavel $posicao++ é indefinida pq não tem um valor mas ela ali no caso não precisa de um como eu faria pra que não ocorrece este erro, eu tentei algumas formas pra resolver o problema da paginação mas não obtive sucesso :/ Compartilhar este post Link para o post Compartilhar em outros sites
Marcos_imasters 288 Denunciar post Postado Dezembro 1, 2012 delicia assim você me matar ai se eu te pego ai ai se eu te pego ops tou no forum kkk minha contriuição espero que ajude qualquer coisa soh manda mp pra mim ow adiciona no msn boa sorte abrçççç <? $i = 0; $select = "SELECT * FROM users WHERE categoria='master' ORDER BY votos DESC"; $result = mysql_query($select); while($manoaj = mysql_fetch_array($result)){ $leitura = mysql_num_rows($result); if($leitura <= "0"){ echo "<br><div align='center' bgcolor='#EBF2F9' class='conteudo'>Nenhuma Música cadastrada</div>";} $n = $i+1; $i++; ?> <?=$n?>° <?=$manoaj["id_user"]?> <?=$manoaj["nome"]?> <?=$manoaj["categoria"]?> <?=$manoaj["votos"]?> <?=$manoaj["foto"]?> <?=$manoaj["titulo"]?> <?=$manoaj["bibliografia"]?> <?=$manoaj["nascimento"]?> <?=$manoaj["cadastro_top_data"]?> <? } ?> Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 1, 2012 delicia assim você me matar ai se eu te pego ai ai se eu te pego ops tou no forum kkk minha contriuição espero que ajude qualquer coisa soh manda mp pra mim ow adiciona no msn boa sorte abrçççç <? $i = 0; $select = "SELECT * FROM users WHERE categoria='master' ORDER BY votos DESC"; $result = mysql_query($select); while($manoaj = mysql_fetch_array($result)){ $leitura = mysql_num_rows($result); if($leitura <= "0"){ echo "<br><div align='center' bgcolor='#EBF2F9' class='conteudo'>Nenhuma Música cadastrada</div>";} $n = $i+1; $i++; ?> <?=$n?>° <?=$manoaj["id_user"]?> <?=$manoaj["nome"]?> <?=$manoaj["categoria"]?> <?=$manoaj["votos"]?> <?=$manoaj["foto"]?> <?=$manoaj["titulo"]?> <?=$manoaj["bibliografia"]?> <?=$manoaj["nascimento"]?> <?=$manoaj["cadastro_top_data"]?> <? } ?> mano pode me explicar o que tu fez kkkkkkkk Compartilhar este post Link para o post Compartilhar em outros sites
Marcos_imasters 288 Denunciar post Postado Dezembro 2, 2012 nao era isso que tu queria? Compartilhar este post Link para o post Compartilhar em outros sites
manoaj 12 Denunciar post Postado Dezembro 2, 2012 nao era isso que tu queria? tipo eu precisava resolver o erro da variavel indefinida e o problema da paginação, pq toda vez que eu vou pra segunda pagina a contagem recomeça do 1 e euq ueria que continuace tipo a primeira vai do 1 ao 10 a segunda deveria continuar do 11 e assim por diante. o codigo esta assim atualmente <?php $quantidade = 10; $pagina = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1; $inicio = ($quantidade * $pagina) - $quantidade; $rap = mysql_query("SELECT id_do_user, nome, categoria, votos, foto, titulo, bibliografia, nascimento, cadastro_top_data FROM usuarios WHERE categoria='Master' ORDER BY votos DESC LIMIT $inicio, $quantidade") or die(mysql_error()); if(@mysql_num_rows($rap) == '0'){ echo "<div class=\"alert_info \">Não existem usuarios cadastrados nesta categoria!</div>"; }else{ while($res_rap = mysql_fetch_array($rap)){ $id_do_user_rap = $res_rap[0]; $nome_rap = $res_rap[1]; $categoria_rap = $res_rap[2]; $votos_rap = $res_rap[3]; $foto_rap = $res_rap[4]; $titulo_rap = $res_rap[5]; $bibliografia_rap = $res_rap[6]; $nascimento_rap = $res_rap[7]; $cadastro_top_data_rap = $res_rap[8]; $posicao++; ?> <div id="list_artist_top"> <li> <div class="position"> <?php echo $posicao; ?>º</div> </li> </div> <?php } } ?> </ul> <?php if(@mysql_num_rows($rap) == '0'){ echo ""; }else{ $sqltotal = ("SELECT id_do_user FROM usuarios WHERE categoria='Master'"); $qrtotal = mysql_query($sqltotal) or die (mysql_error()); $numerototal = mysql_num_rows($qrtotal); $totalpagina = ceil($numerototal/$quantidade); echo "<a class=\"link_p\" href=\"?pg=pop&pagina=1\"><div class=\"numero_pg \">« Primeira página</div></a>"; for($i = 1; $i <= $totalpagina; $i++){ if($i == $pagina) echo "<div class=\"atual_pg \">$i</div>"; else echo "<a class=\"link_p\" class=\"color_l_p\" href=\"?pg=pop&pagina=$i\"><div class=\"numero_pg \">$i</div></a>"; } echo "<a class=\"link_p\" href=\"?pg=pop&pagina=$totalpagina\"><div class=\"numero_pg \">Última página »</div></a>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites