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
}
}
?>