Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Zinhani

Contar Registros

Recommended Posts

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
SELECT COUNT( `id` ) AS qnt, cor FROM `carros` GROUP BY `cor`

Compartilhar este post


Link para o post
Compartilhar em outros sites

$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

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

? não entendi.

 

poste o html final do que você pretende (apenas html).

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.