doulo4ever Postado Agosto 10, 2006 Denunciar Share Postado Agosto 10, 2006 Olá pessoal, fui fazer um enquetezinha no dedo aqui, mas ao exibir os votos, está aparecendo assim:Nome Votos Leões de Israel 5 Raízes Rasta 5 Bixo de Pé (forró) 4 Mato Seco 15 Chimarrutis 14 Du Casco 1 Expressão Regueira 1 Quando as bandas passam de 10 votos, ele está ordenando erroneamente.O código da exibição é:function ExibeVotos(){ $sql2 = mysql_query("select * from enquete order by votos desc"); echo '<table border="0" cellpadding="3" cellspacing="3" style="border-collapse:collapse" bordercolor="#111111" width="250"> <tr><td bgcolor="#F0F0F0" width="180"><font face="Verdana" size="1"><b>Nome</b></font></td><td bgcolor="#F0F0F0" width="70"> <font face="Verdana" size="1"><b>Votos</b></font></td></tr>'; while($exibe = mysql_fetch_array($sql2)){ $nome = $exibe["nome"]; $votos = $exibe["votos"]; echo '<tr><td width="180" bgcolor="#F9F9F9"><font size="1" face="verdana">'.$nome.'</font> </td><td width="70" bgcolor="#F9F9F9"><font size="1" face="verdana">'.$votos.'</font></td></tr>';} echo '</table>'; }Alguém pode me dar uma luz do que pode ser esse fenômeno bizarro?Obrigado,Paulo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kakao Postado Agosto 10, 2006 Denunciar Share Postado Agosto 10, 2006 A coluna votos foi definida como texto e não como número.Para contornar:select * from enquete order by cast(votos as unsigned) desc Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Agosto 11, 2006 Autor Denunciar Share Postado Agosto 11, 2006 Kakau, a sua solução funcionou perfeitamente, mas nestes casosdevo deixar o campo como DECIMAL então?É tanta opção que tem de campos que não manjo pra que serve tudoaquilo, tem algum lugar que explica em qual caso utilizar cada um deles?Valeu hein....Paulo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kakao Postado Agosto 11, 2006 Denunciar Share Postado Agosto 11, 2006 Kakau, a sua solução funcionou perfeitamente, mas nestes casosdevo deixar o campo como DECIMAL então?No caso dos votos o melhor é um dos tipos inteiros: TINYINT, SMALLINT, MEDIUMINT, INTEGER ou BIGINT seguido do atributo UNSIGNED. É tanta opção que tem de campos que não manjo pra que serve tudoaquilo, tem algum lugar que explica em qual caso utilizar cada um deles?http://dev.mysql.com/doc/refman/4.1/pt/numeric-types.html Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 doulo4ever Postado Agosto 11, 2006 Autor Denunciar Share Postado Agosto 11, 2006 Ok, valeu cara, t+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
doulo4ever
Olá pessoal, fui fazer um enquetezinha no dedo aqui, mas ao exibir os votos, está aparecendo assim:
Quando as bandas passam de 10 votos, ele está ordenando erroneamente.
O código da exibição é:
Alguém pode me dar uma luz do que pode ser esse fenômeno bizarro?
Obrigado,
Paulo
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.