Ir para conteúdo

POWERED BY:

Arquivado

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

Xuito

como contar valores iguais de algumas colunas de uma linha? PHP/Mysql

Recommended Posts

Ola amigos,

 

Ja procurei bastante e ainda nao consegui encontrar uma forma buscar quantas vezes determinado valor aparece em apenas alguns campos de uma mesma linha de uma tabela mysql. Alguem poderia me dar uma sugestao?

 

Por exemplo:

 

Tenho uma tabela com varios campos que mostram o estatus de mesas reservadas. Assim:

 

DATA | Mesa1 | Mesa 2 | Mesa 3 | Mesa 4 | ... | Mesa38

040808 Livre Reservada Livre Livre Reservada

050808 Reservada Reservada Livre Reservada Reservada

060808 Livre Reservada Livre Livre Reservada

 

O que eu preciso eh saber, por exemplo, das mesas 1 a 10, quantas estao reservadas no dia 05/08/08...

 

O comando COUNT faria isso? Teria como eu determinar em qual linha ele deveria contar, e em quais colunas?

 

Vou continuar procurando... qualquer coisa eu coloco o resultado aqui.

 

Abracos e obrigado,

Weber

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido: PHP=>MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigos,

 

A solucao que eu tinha encontrado e postado anteriormente estava errada... soh fui descobrir depois de alguns testes. Por isso editei e apaguei daqui do forum.

 

Sendo assim, continuo a procurar a resposta.

 

Abracos,

Weber

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom , quem fez essa tabela tem q voltar pra aula de normalizaçao pq ta tudo errado, mas a soluçao momentanea seria :

 

Select Data, count(*)

from

(

Select Data, mesa1 status from tabela

UNION ALL

Select Data, mesa2 status from tabela

UNION ALL

Select Data, mesa3 status from tabela

UNION ALL

Select Data, mesa4 status from tabela

UNION ALL

Select Data, mesa5 status from tabela

) abc

where status='Livre'

And Data = 20080805

GROUP BY Data

 

 

Isso assumindo ate a mesa 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... la vai (para contar a quantidade de mesas reservadas de no grupo das mesas 1 a 10 - Considerando status reservada=2, pendente=1, livre=0):

 

CODE
for ($i = 1; $i < 11; $i++) {

 

$mesastatus = "mesastatus".$i;

${$mesastatus};

 

$consulta = mysql_query("SELECT " . $mesastatus . " FROM reservas WHERE data='$data_reserva' AND " . $mesastatus . "='2'");

while ($reservadas = mysql_fetch_array($consulta)) {

$resultadoreservadas = $reservadas["$mesastatus"];

 

if ($resultadoreservadas == "2") {

$count++;

}

}

}

echo $count;

 

Agora deu certo.

 

Valeu a todos!

Abracos,

Weber

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.