Zinhani 0 Denunciar post Postado Novembro 18, 2010 Olá pessoal, Digamos que você tenha uma tabela com o cadastro de carros, sendo estes, cada um com uma cor difere. E você precisa informar na tela a quantidade de carros por cores. Carros: Verde (x) Amarelo (x) Vermelho (x) Estou fazendo assim: <?php $busca_cor_amarela = mysql_query("SELECT id FROM carros WHERE cor='amarelo'"); $campos_cor_amarela = mysql_num_rows($busca_cor_amarela); $busca_cor_verde = mysql_query("SELECT id FROM carros WHERE cor='verde'"); $campos_cor_verde = mysql_num_rows($busca_cor_verde); $busca_cor_vermelho = mysql_query("SELECT id FROM carros WHERE cor='vermelho'"); $campos_cor_vermelho = mysql_num_rows($busca_cor_vermelho); echo $campos_cor_ ... ; ?> A pergunta é: Qual a melhor forma de se contar registros? Teria alguma forma de se fazer uma busca dessas apenas em uma unica consulta? como? Isso aplicado a POO como seria uma classe para isso? alguem teria um exemplo para postar? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 18, 2010 SELECT COUNT( `id` ) AS qnt, cor FROM `carros` GROUP BY `cor` Compartilhar este post Link para o post Compartilhar em outros sites
Zinhani 0 Denunciar post Postado Novembro 18, 2010 William Bruno, muito obrigado. Mas... Como eu exibo isso? Como eu sei que o valor x é da cor y ty Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 18, 2010 $sql = "SELECT COUNT( `id` ) AS qnt, cor FROM `carros` GROUP BY `cor`"; $query = mysql_query( $sql )or die( mysql_error() ); while( $dados = mysql_fetch_object( $query ) ) echo 'Existem '.$dados->qnt.' carro(s) com a cor '.$dados->cor.'<br />'; só isso. Compartilhar este post Link para o post Compartilhar em outros sites
Zinhani 0 Denunciar post Postado Novembro 18, 2010 Aproveitando da sua boa vontade, digamos que eu queira manipular a posição dos resultados colocando-os em lugares que não seria possivel a aplicação de um loop. Tem como? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 18, 2010 ? não entendi. poste o html final do que você pretende (apenas html). Compartilhar este post Link para o post Compartilhar em outros sites
Zinhani 0 Denunciar post Postado Novembro 18, 2010 o problema não é o html. Eu preciso colocar o valor correspondente a cor em uma variavel para executar algumas outras funções. E não pode ser dinamico, eu precisa saber realmente o valor para uma cor especifica. Colocando ele em um while eu não consigo saber oq é oq entende... A nao ser na tela que ai sim aparece a informações. Como o exemplo que eu dei no 1º post, eu sei que para cada consulta eu tenho uma variavel especifica. Isso tbm é possivel com a consulta que você me passou? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 19, 2010 enfim, não sei. mostre uma imagem ou o HTML do que você pretende, se não fica dificil ajudar. procure por variaveis variaveis ou então, algo um pouco mais simples: $cores = Array(); while( $dados = mysql_fetch_object( $query ) ) $cores[ $dados->cor ] = $dados->qnt; entendeu ? agora você tem um Array com as cores. Cada posição do array, é uma cor. E o valor de cada posição é a quantidade de carros daquela cor. exemplo, se você tiver 15 carros amarelos.. echo $cores['amarelo'];//vai sair 15 entendeu ? Compartilhar este post Link para o post Compartilhar em outros sites