Imprimir vários resultados da mesma consulta em tabela fixa.

1. Imprimir vários resultados da mesma consulta em tabela fixa.

Luis Rodrigues
luisrod

(usa Ubuntu)

Enviado em 24/05/2015 - 11:23h

Bom dia pessoal já tenho uma consulta onde ele seleciona o total por cada unidade quando existe resultado para ela e exibe na tela em echo. O que preciso é ter uma tabela fixa com o nome das unidades e só alterar o resultado da quantidade. Sendo assim quando satisfazer a condição mostre na tabela, caso contrário fica sem resultado. Abaixo está o código q estou usando e funcionando.
$consulta = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='marechal'";
$consulta1 = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='archelau'";
$resultado = mysql_query($consulta); //executar query e pegar resultados
$resultado1 = mysql_query($consulta1); //executar query e pegar resultados
echo '<table border="1" align="center">';
echo '<tr align="center">';
echo '<td>Unidade</td>';
echo '<td>Quantidade</td>';
echo '</tr>';
while ($linha = mysql_fetch_array($resultado)) { //imprimir cada resultado da consulta
echo '<tr>';
echo '<td align="center">'.$linha["unidade"].'</td>';
echo '<td align="center">'.$linha["Quantidade"].'</td>';
echo '</tr>';
}
// consulta 1
while ($linha1 = mysql_fetch_array($resultado1)) { //imprimir cada resultado da consulta
echo '<tr>';
echo '<td align="center">'.$linha1["unidade"].'</td>';
echo '<td align="center">'.$linha1["Quantidade"].'</td>';
echo '</tr>';
}



  


2. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 24/05/2015 - 17:41h

Luis,

Desculpe-me, mas não entendi sua necessidade (tabela fixa com o nome das unidades e alterar o resultado da quantidade)
por acaso seria isso:
$consulta = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='marechal'";
executa a consulta
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_assoc($result);
$consulta1 = "UPDATE sac SET xxx = $row['yyyy'] where unidade='archelau'";
executa a consulta
}

ou seria uma nova tabela, baseada na tabela sac, com dois campos (unidade e quantidade), quando a tabela original sac fosse alterada, você alteraria automaticamente a nova tabela?


3. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

Luis Rodrigues
luisrod

(usa Ubuntu)

Enviado em 24/05/2015 - 21:10h

Quero ter uma tabela montada com os nome marechal e archelau , ai quando tiver alteração nesses campos mostrar a quantidade embaixo de cada.
Exemplo. Tabela
Marechal archelau
3. 2. <- vem do resultado da consulta



4. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 25/05/2015 - 10:21h

Luis,

Ainda não estou seguro, pelo que entendi seria algo como:

<table border="1" align="center">
<tr align="center"><td>Unidade</td>'<td>Quantidade</td></tr>
<?php
$linha = mysql_fetch_array($resultado);
$linha1 = mysql_fetch_array($resultado1);
echo '<tr><td align="center">'.$linha["unidade"].'</td><td align="center">'.$linha1["unidade"].'</td><td align="center"></tr>';
echo '<tr><td align="center">'.$linha["Quantidade"].'</td><td align="center">'.$linha1["Quantidade"].'</td><td align="center"></tr></table>';
?>

Sendo que você precisa ter outra tabela que acumule o total de marechal e archelau, quando $linha["Quantidade"] e $linha1["Quantidade"] fossem diferentes dos totais acumulados, você então mostraria o novo acumulado e atualizaria a outra tabela, é por aí?


5. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

Luis Rodrigues
luisrod

(usa Ubuntu)

Enviado em 25/05/2015 - 16:50h


Quase isso, seria mais ou menos isso a tabela e só mudaria nos RESULTADOS
$consulta = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='marechal'";
$consulta1 = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='archelau'";
$resultado = mysql_query($consulta); //executar query e pegar resultados
$resultado1 = mysql_query($consulta1); //executar query e pegar resultados


while ($linha = mysql_fetch_array($resultado)) { //imprimir cada resultado da consulta


echo '<table border="1" align="center">';
echo '<tr>';
echo'<td>Marechal</td>';
echo'<td>Archelau</td>';
echo'<td>Araucária</td>';
echo'</tr>';
echo'<tr>';
echo '<td align="center">'.$resultado["consulta"].'</td>'; //RESULTADOS
echo'<td>&nbsp;</td>'; // RESULTADOS
echo'<td>&nbsp;</td>'; // RESULTADOS
echo'</tr>';
echo '<tr>';
echo'<td>Unidade1</td>';
echo'<td>unidade2</td>';
echo'<td>Unidade3</td>';
echo'</tr>';
echo'<tr>';
echo '<td></td>';
echo'<td>&nbsp;</td>';
echo'<td>&nbsp;</td>';
echo'</tr>';
echo'</table>';
}

// consulta 1
while ($linha1 = mysql_fetch_array($resultado1)) { //imprimir cada resultado da consulta

//echo '<tr>';

//echo '<td align="center">'.$linha1["unidade"].'</td>';

//echo '<td align="center">'.$linha1["Quantidade"].'</td>';

//echo '</tr>';


}
?>


6. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 25/05/2015 - 17:49h


hum, acho que entendi.

crie uma função auxiliar:

function consulta($unidade) {
// conecte ao banco
// faça a consulta :
$consulta = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='$unidade'";
// note que no código (vide abaixo) você passa o valor desejado, a função faz a consulta e devolve o valor desejado
// executa a consulta
// retorne Quantidade
}

e no código, ficaria mais ou menos assim:
echo '<td align="center">'.consulta('Marechal').'</td>';
echo '<td align="center">'.consulta('Archelau').'</td>';
echo '<td align="center">'.consulta('Araucária').'</td>';

o caminho das pedras é pesquisar no google / yahoo / etc por
php chamada a função


7. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

Luis Rodrigues
luisrod

(usa Ubuntu)

Enviado em 26/05/2015 - 13:13h


desculpe mas não entendi como acrescentar isso ao código.


8. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 26/05/2015 - 17:35h


Luis,

vamos passo a passo.

Se código é:
<?php
(...)
?>

insira no início a função, então fica
<?php
function consulta($unidade){
return 'Marechal';
}

(...)
?>

e no meio de seu código, inclua o seguinte:
echo '<td align="center">' . consulta("Archelau") . '</td>';

Agora, importante: note que, embora fosse esteja passando Archelau como parâmetro, a função consulta retorna SEMPRE Marechal. Portanto fica:
<td align="center">Marechal</td>

Teste e veja se funciona.

O próximo passo é substituir o
return 'Marechal';
pelo que você precisa, mas isto é o próximo passo.
(Já adiantando, na função consulta, você precisa se conectar novamente no banco)






9. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

Luis Rodrigues
luisrod

(usa Ubuntu)

Enviado em 27/05/2015 - 12:35h

boa tarde então, coloquei as linhas mas deu Undefined variable: unidade in , segue o codigo abaixo já alterado. obrigado pela paciência.

function consulta($unidade){
return 'Marechal';
}


$consulta = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac GROUP BY unidade";
$consulta = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='$unidade'";

$resultado = mysql_query($consulta); //executar query e pegar resultados

echo '<table border="1" align="center">';

echo '<tr align="center">';

echo '<td>marechal</td>';

echo '</tr>';

while ($linha = mysql_fetch_array($resultado)) { //imprimir cada resultado da consulta


echo '<tr>';

echo '<td align="center">' . consulta("marechal") . '</td>';

echo '</tr>';
}

?>


10. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 27/05/2015 - 13:11h

Luis,

mantenha o trecho
function consulta($unidade){
return 'Marechal';
}
no início do seu código

aí então você tem o trecho:
$consulta = "SELECT unidade, COUNT(unidade) AS Quantidade FROM sac where unidade='$unidade'";
$resultado = mysql_query($consulta); //executar query e pegar resultados

if (mysql_num_rows($resultado) > 0 ) { **** precisa ter isso, senão vai dar pau se seu $resultado não retornar nenhum registro ...
// retornou 1 ou mais registros, então ...
echo '<table border="1" align="center"><tr align="center"><td>marechal</td><td>Archelau</td></tr>';

aí, pelo que entendi, você precisa fazer uma consulta para marechal e outra consulta para Archelau, então ...

echo '</tr><td align="center">' . consulta('Marechal').'</td><td align="center">'.consulta('Archelau').'</td></tr>';

} // fecha o if do num_rows

ou seja, você usa uma função auxiliar quando, na mesma linha da tabela, você precisa fazer a mesma consulta, só mudando o parâmetro que vai ser usado no WHERE da função auxiliar





11. Re: Imprimir vários resultados da mesma consulta em tabela fixa.

Luis Rodrigues
luisrod

(usa Ubuntu)

Enviado em 27/05/2015 - 13:44h

ai desculpe, mas só fica aparecendo esse erro nervoso Notice: Undefined variable: unidade in C:







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts