PHP - Printing Disordered and Repeat Screen Products

0

I need to show the following:

PRODUTO X
  resposta 3 - vlr: R$ 0,01
  resposta 2 - vlr: R$ 0,02
  resposta 1 - vlr: R$ 0,03




PRODUTO Y
  resposta 1 - vlr: R$ 0,10
  resposta 3 - vlr: R$ 0,30
  resposta 2 - vlr: R$ 0,50


PRODUTO Z
  resposta 2 - vlr: R$ 0,15
  resposta 1 - vlr: R$ 0,30
  resposta 3 - vlr: R$ 0,40

I made several attempts and got a supposed +/- favorable result.

I used the GROUP BY option, grouped all the vendors, but unfortunately brings back the same values and quantity.

GROUP BY, like this:

PRODUTO X
  resposta 1 - vlr: R$ 0,01
  resposta 2 - vlr: R$ 0,02
  resposta 3 - vlr: R$ 0,03




PRODUTO Y
  resposta 1 - vlr: R$ 0,01
  resposta 2 - vlr: R$ 0,02
  resposta 3 - vlr: R$ 0,03


PRODUTO Z
  resposta 1 - vlr: R$ 0,01
  resposta 2 - vlr: R$ 0,02
  resposta 3 - vlr: R$ 0,03

Note: each response has different amounts and values.

Below the code I use to generate the impression:

//Aqui faço o cabeçalho do Titulo
//códigoEmpresa - descriçãoEmpresa

<?php function mostraResposta(){
    include"Connections/config.php";

        $cliente = '3';
        $cotaNum = '3.3';

        $sql = "SELECT t.cotaId, t.cotaNumero, t.cotaTitulo, t.cotaStatus, t.clienteId,
                       c.clienteId, c.nome
                  FROM cotacao t,
                       clientes c
                 WHERE c.clienteId = '$cliente'         
                   AND t.clienteId = '$cliente'            
                   AND t.cotaNumero = '$cotaNum'     
              ORDER BY t.clienteId, t.cotaTitulo ASC";

        $stmt = $conecta->prepare($sql);
        $stmt->execute();

        $num = $stmt->rowCount();
        $clie = null;        

        if($num > 0) {

            while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
                   extract($row);

                if($clie != $clienteId) {

                    if(!is_null($clie)) { echo "</table>"; } 
                    // Fechando a tabela da ultima categoria impressa antes
                    // de abrir a nova
                    echo " <br/><br/>";

                    echo "<h1>{$clienteId} - {$nome}</h1>";

                    echo "<table>";
                    echo "  <tr>";
                    echo "      <th>CÓDIGO</th>";                   
                    echo "      <th>NOME</th>";
                    echo "  </tr>";

                    $clie = $clienteId;

                } //Fecha IF


                echo "  <tr>";
                echo "      <td><div class='cod-produto'>{$cotaNumero}</div></td>";
                echo "      <td><div class='nome-produto'>{$cotaTitulo}</div></td>";
                echo "  </tr>";

            } //Fecha While

            echo "</table>"; // Fechando a tabela da última categoria do laço

        } //Fecha If $num


    }

?>


//Aqui trago todos os produtos que a empresa quiz cotar
//códigoProduto - descriçãoProduto
<?php function mostraRespostaItens(){

    include"Connections/config.php";

        $cliente = '3';
        $cotaNum = '3.3';

            $sql = "SELECT i.cotaItensId, i.cotaNumImport, i.codProdClie, i.cotaQtde, i.cotaComenta,
                           i.cotaVerTxt, i.cotaId, i.clienteId, i.cotaNumero,
                           p.produtoId, p.codProdClie, p.produtoDescr, p.clienteId
                      FROM cotacaoItens i,
                           produto p
                     WHERE i.codProdClie = p.codProdClie
                       AND i.cotaNumero = '$cotaNum'        
                       AND i.clienteId = p.clienteId               
                  ORDER BY i.cotaNumero ASC";

            $stmt = $conecta->prepare($sql);
            $stmt->execute();

            $num = $stmt->rowCount();

            $prod = null;        


        if($num > 0) {

            while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
                   extract($row);                           

                if($prod != $codProdClie) {

                    if(!is_null($prod)) { echo "</table>"; } 
                    // Fechando a tabela do último Produto impresso antes de abrir a nova
                    echo " <br/>";

                    echo "<h2>{$codProdClie} - {$produtoDescr}</h2>";

                    echo "<table  border='0' cellpadding='3' cellspacing='2' >";      

                    //Chamo as respostas dos fornecedores
                    mostraRespFornec();

                    }                          

                } //Fecha While



                echo "</table>"; // Fechando a tabela da última categoria do laço

          }
    }
?>


//Aqui trago todos os fornecedores que responderam, com seus valores e quantidade
//qdo agrupo os fornecedores, traz sempre os mesmo valores e quantidade
<?php function mostraRespFornec(){

    include"Connections/config.php";

        $cliente = '3';
        $cotaNum = '3.3';

            $sql = "SELECT r.cotaRespId, r.cotaItensId, r.cotaNumero, r.codProdClie, r.cotaOferta, r.fornecedorId,
                           r.cotaRespQtde, r.cotaRespVlr, r.cotaRespTotal,
                           f.fornecedorId, f.nome,
                           i.cotaItensId, i.cotaNumero, i.codProdClie
                      FROM cotacaoResposta r,
                           fornecedores f,
                           cotacaoItens i
                     WHERE i.codProdClie = r.codProdClie  
                       AND r.cotaOferta = '2'       
                       AND r.fornecedorId = f.fornecedorId      
                  GROUP BY f.fornecedorId
                  ORDER BY r.cotaRespVlr ASC";

            $stmt = $conecta->prepare($sql);
            $stmt->execute();

            $num = $stmt->rowCount();

            $prod = null;        


        if($num > 0) {

            while($row = $stmt->fetch($prod)){
            //while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
                   extract($row);                           

                  if($prod != $fornecedorId) {

                    if(!is_null($prod)) { echo "</table>"; } 

                    echo "  <tr style='color:#1C1C71; font-variant:small-caps; 
                                                      font:16px Arial, Helvetica, sans-serif; font-weight: bold;'>";
                    echo "      <td><div class='fornec'>{$fornecedorId} - {$nome}</div></td>";
                    echo "  </tr>";

                    echo "  <tr>";
                    echo "      <td><div class='no'>Qtde..: {$cotaRespQtde}</div></td>";        
                    echo "  </tr>";

                    echo "  <tr>";
                    echo "      <td><div class='nme-produto'>Valor.: {$cotaRespVlr}</div></td>";  
                    echo "  </tr>";   

                    echo "  <tr>";
                    echo "      <td><div class='nme-produto'>Total.: {$cotaRespTotal}</div></td>";  
                    echo "  </tr>";  

                    echo "  <td>.</td>";                               
                 }

                } //Fecha While

                echo "</table>"; // Fechando a tabela da última categoria do laço

          }
    }
?>
    
asked by anonymous 31.01.2017 / 11:01

0 answers