Jump to content
empirerock

[Resolvido] Como fazer query de uma coluna no banco e exibir filtrado em 3 colunas html

Recommended Posts

Pessoal, boa tarde.

Estou com uma dúvida no qual nunca me deparei antes com php e mysql.

 

Tenho a seguinte tabela exemplo no mysql:

 

ITEM :   DEP  :    QTD
========================
 1       :  T01    :   1000
 2       :  T02    :   2000
 3       :  T03    :   3000
 4       :  T01    :   4000
 5       :  T03    :   5000
========================

 

 

Tendo esta tabela no mysql, eu preciso exibir uma página com uma tabela HTML e PHP dessa maneira abaixo:

TABELA HTML PARA EXIBIR
================================
ITEM  :  T01   :  T02   :  T03 
 1        : 1000   :   0      :   0
 2        :  0         : 2000 :   0
 3        :  0         :   0      : 3000
 4        : 4000   :   0      :   0
 5        :  0         :   0      : 5000
================================

 

 

Explicando:

Preciso exibir uma query que me filtre em colunas a qtd de cada depósito.

Pesquisei  e não sei como fazer isso. Tentei fazer um select para cada depósito e  while dentro de while e não consegui. Alguma forma de fazer isso?

Segue abaixo meu script, só que não faço idéia de como fazer isso, quem tiver uma idéia de como fazer, ficarei muito grato.

 

 

<?
$sql = mysql_query ("SELECT item, dep, qtd FROM estoque  ");
?>

 <table>
    <thead>
        <tr>                
            <th>Item</th>
            <th>T01</th>
            <th>T02</th>
            <th>T03</th>
        </tr>
    </thead>


    <tbody>
        <? while($r = mysql_fetch_array($sql)){ ?>
        <tr> 
            <td><? echo $r['item']; ?></td>
            <td></td>
            <td></td>
        </tr>
        <? } ?>

    </tbody>
 </table>

 

Share this post


Link to post
Share on other sites

Pessoal, após muita pesquisa, descobri no Mysql, que existe o Pivot Table.

Estou pesquisando sobre, para aprender. Assim que eu conseguir, eu posto aqui como ficou o código.

Abraço!

Share this post


Link to post
Share on other sites

você pode fazer um foreach() - http://php.net/manual/pt_BR/control-structures.foreach.php

 

<?
$sql = mysql_query ("SELECT item, dep, qtd FROM estoque  ");
?>

 <table>
    <thead>
        <tr>                
            <th>Item</th>
            <th>T01</th>
            <th>T02</th>
            <th>T03</th>
        </tr>
    </thead>


    <tbody>
        <? foreach($sql as $key => $r){ ?>
        <tr> 
            <td><? echo $key; ?></td>
            <td><? echo $r->item['qtd']; ?></td>
        </tr>
        <? } ?>

    </tbody>
 </table>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By peterstefan
      estou tentando fazer uma select no laravel para quando eu atualizar o e-mail do usuário mais se já existir no banco mostrar uma mensagem avisando que já existe no banco, mais não to conseguindo..
      Dei uma pesquisada e não achei nada que pudesse ajudar..
       
      $email = DB::select(DB::raw('SELECT id, email FROM users WHERE email=:email AND id !=:id'), ['email' => $request->email, 'id' => Auth::user()->id]); if ($email) { $json['message'] = $this->message->error("Ooops, " . Auth::user()->name . " E-mail já está em uso!")->reder(); return response()->json($json); }
    • By SACI1978
      Olá pessoal preciso de uma ajuda com esse código, era pra ele alterar a cor da minha resposta do banco, mas nada acontece:

       
      $listagem = $pdo->prepare("SELECT * FROM agendamento WHERE status!='PRONTO' AND status!='BAIXA' ORDER BY controle DESC"); $listagem->execute(); while ($lista = $listagem->fetch(PDO::FETCH_ASSOC)) { if($lista['status'] == "RECEBIDO"){ echo '<span style="color:red">' .$lista['status']. '</span>'; } if($lista['status'] != "EM ATENDIMENTO"){ echo '<span style="color:green">' .$lista['status']. '</span>'; } if($lista['status'] != "AGUARDANDO"){ echo '<span style="color:blue">' .$lista['status']. '</span>'; } }  
    • By eduardohaag
      Olá pessoal,
      Estou trabalhando em um projeto de estudo onde tenho uma tabela onde possui o cadastro de funcionários e a empresa onde trabalha.
      Preciso criar uma query que retorne o nome da empresa que possui a menor quantidade de funcionários.
      Tenho em minha mente que parece uma coisa simples, possivelmente utilizando as funções Count e MIN, mas não estou conseguindo chegar a um raciocino pra chegar nessa condição.
    • By Jefferson andre
      Saudacoes, como faço apara a query andar de lado 2 a 2 em vez de ir sempre para baixo.
       
      Na foto anexo onde esta vazio deveria estar preenchido
       
      Segue meu codigo se alguem puder dar uma olhada agradeço
      #Consulta $resultado_videos = $arquivo->query("SELECT * FROM contador_diario ORDER BY data DESC LIMIT 7"); while($aux = mysqli_fetch_assoc($resultado_videos)) { $cont=$cont+1; //acrescenta valor ao cont $contador = $aux["contador"]; $data = $aux["data"]; $floatVal = floatval($cont/2); // If the parsing succeeded and the value is not equivalent to an int if($floatVal && intval($floatVal) != $floatVal){ echo "<tr>  <td bgcolor='#CCCCCC'> {$contador} </td>  <td </td>  </tr>"; } else { echo "<tr>  <td </td>  <td bgcolor='#CCCCCC'> {$contador} </td>  </tr>"; } } echo"</table></div></body>";  
       
    • By Jefferson andre
      Saudações a todos,
       
      Criei um relatório bem simples que desce linha a linha, mas como sobrou espaco na tela eu gostaria de colocar o mesmo relatorio em duas colunas.
       
      Então pensei em controlar se a sequencia impressa eh par ou impar verificando se a divisao por 2 da um resultado inteiro.
       
      Mas me surgiu a duvida se existe algum comando que verifique se a variavel eh inteira ou se eh necessario verificar se o tipo eh double.
       
      Aceito sugestões ou exemplo desse tipo de report
       
      Agradeço
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.