Remazela 6 Denunciar post Postado Janeiro 22, 2017 Caros amigos Por favor, me perdoa por recorrer ao auxilio dos amigos, referente a uma dúvida. Obs.: por favor, peço que os amigos não pense que estou abusando da compreensão dos amigos, pois estou com muita dúvida de como montar a tela abaixo e salvar no Banco. Preciso montar uma tela, onde o usuário após escolher a Cotação mostra o seguinte: Ou seja: abro a cotação X, que contenha vários ITENS e os itens tem várias ofertas de fornecedores. Fiz algum teste conforme o código abaixo que encontrei nas minhas pesquisas da Internet, tentei adaptar para o que preciso, mas não consegui um resultado favorável. include"Connections/config.php"; $sql = "SELECT p.produtoId, p.produtoDescr, p.produtoStatus, p.desc_categ, p.codProdClie, c.id_categ, c.desc_categ FROM produto p, categoria c WHERE c.desc_categ = p.desc_categ ORDER BY p.desc_categ, p.produtoDescr"; $stmt = $conecta->prepare($sql); $stmt->execute(); $num = $stmt->rowCount(); $categoria = null; if($num>0) { while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { extract($row); if($categoria != $id_categ) { if(!is_null($categoria)) { echo "</table>"; } // Fecha a tabela da ultima categoria echo " <br/><br/>"; echo "<h1>{$desc_categ}</h1>"; //Mostra por categoria echo "<table>"; echo " <tr>"; echo " <th>CÓDIGO</th>"; echo " <th>NOME</th>"; echo " <th>PREÇO</th>"; echo " <th>QUANTIDADE</th>"; echo " </tr>"; $categoria = $id_categ; } $preco_produto_reajustado = number_format($produtoStatus, 2, ",", "."); echo " <tr>"; echo " <td><div class='cod-produto'>{$codProdClie}</div></td>"; echo " <td><div class='nome-produto'>{$produtoDescr}</div></td>"; echo " <td>R${$preco_produto_reajustado}</td>"; echo " <td>"; echo " <form class='adicionar'>"; echo " <input type='number' name='quantidade' value='1' min='1' max='20'/>"; echo " <button type='submit'>Adicionar</button>"; echo " </form>"; echo " </td>"; echo " </tr>"; } echo "</table>"; // Fechando a tabela da última categoria do laço } Alguém por favor, pode me ajudar, me dá um rumo ou forma melhor de fazer o que preciso acima ? Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
leonardo de andrade baessa 16 Denunciar post Postado Janeiro 22, 2017 Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Janeiro 23, 2017 Caro amigo Leonardo Grato por sua disposição em me auxiliar, mas infelizmente não seria isso que procuro fazer no meu sistema. Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Janeiro 23, 2017 Caros amigos Estive pesquisando e tentando efetuar a rotina que preciso e cheguei a esse código abaixo: <?php function mostraCotaItens(){ include"Connections/config.php"; $cliente = '2'; $cotaNum = '2.2'; $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(); $clientes = null; if($num > 0) { while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { extract($row); if($clientes != $clienteId) { if(!is_null($clientes)) { 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>"; $clientes = $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 $sql = "SELECT i.cotaItensId, i.clienteId, i.cotaNumero, i.codProdClie, r.cotaRespId, r.cotaItensId, r.clienteId, r.cotaNumero, r.codProdClie, r.cotaOferta, r.fornecedorId, r.cotaRespQtde, r.cotaRespVlr, f.fornecedorId, f.nome, p.produtoId, p.codProdClie, p.produtoDescr FROM cotacaoItens i, cotacaoResposta r, fornecedores f, produto p WHERE i.clienteId = '$cliente' AND i.cotaNumero = '$cotaNum' AND r.codProdClie = i.codProdClie AND p.codProdClie = i.codProdClie AND r.fornecedorId = f.fornecedorId AND r.cotaOferta = '2' AND r.cotaNumero = '$cotaNum' ORDER BY i.clienteId ASC"; $stmt = $conecta->prepare($sql); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { extract($row); echo "<table>"; echo " <tr>"; echo " <br/>"; echo " <td><div class='cod-produto'>{$codProdClie}</div></td>"; echo " <td><div class='nome-produto'>{$produtoDescr}</div></td>"; echo " </tr>"; echo " <tr>"; echo " <br/>"; echo " <td><div class='cod-produto'>{$fornecedorId}</div></td>"; echo " <td><div class='nome-produto'>{$nome}</div></td>"; echo " </tr>"; echo " <tr>"; echo " <td><div class='no'>{$cotaRespQtde}</div></td>"; echo " <td><div class='nme-produto'>{$cotaRespVlr}</div></td>"; echo " </tr>"; } //Fecha While echo "</table>"; // Fechando a tabela da última categoria do laço } //Fecha If $num } ?> Infelizmente o código acima, faz o que preciso, só que fica repetindo a descrição dos produtos conforme abaixo: 2 - Gerente Empresa Ltda - ME CÓDIGO COTAÇÃO 2.2 MATERIAL DE ESCRITÓRIO //PRODUTOS 101 CADERNO UNIVERSITÁRIO 1 MATÉRIA FORN.: 2 - Airin Medical QTDE.: 10 VALOR: 6,50 131 LÁPIS N.2 - PRETO FORN.: 1 - ABC Med QTDE.: 10 VALOR: 0,12 131 LÁPIS N.2 - PRETO //Repetiu a descrição do produto FORN.: 2 - Airin Medical QTDE.: 20 VALOR: 0,13 140 - RÉGUA 30CM - ACRÍLICA FORN.: 2 - Airin Medical QTDE.: 20 VALOR: 5,00 150 - BORRACHA MACIA PEQUENA FORN.: 1 - ABC Med QTDE.: 20 VALOR: 0,25 150 - BORRACHA MACIA PEQUENA 2 - Airin Medical 15 0,50 Abaixo minhas tabelas: CREATE TABLE IF NOT EXISTS `clientes` ( `clienteId` int(11) NOT NULL AUTO_INCREMENT, `criadoEM` timestamp NULL DEFAULT NULL, `modificadoEM` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, `clienteStatus` varchar(255) DEFAULT NULL, `usuarioNivel` varchar(255) DEFAULT NULL, `nome` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `senha` varchar(150) DEFAULT NULL, `telefone` varchar(20) DEFAULT NULL, PRIMARY KEY (`clienteId`) CREATE TABLE IF NOT EXISTS `produto` ( `produtoId` int(11) NOT NULL AUTO_INCREMENT, `clienteId` varchar(11) DEFAULT NULL, `id_categ` varchar(11) DEFAULT NULL, `id_unid` varchar(11) DEFAULT NULL, `codProdClie` varchar(255) DEFAULT NULL, `produtoDescr` varchar(255) DEFAULT NULL, `produtoStatus` int(1) NOT NULL, PRIMARY KEY (`produtoId`) CREATE TABLE IF NOT EXISTS `fornecedores` ( `fornecedorId` int(11) NOT NULL AUTO_INCREMENT, `criadoEM` timestamp NULL DEFAULT NULL, `modificadoEM` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, `fornecedorStatus` varchar(255) DEFAULT NULL, `usuarioNivel` varchar(255) DEFAULT NULL, `nome` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `senha` varchar(150) DEFAULT NULL, `telefone` varchar(20) DEFAULT NULL, PRIMARY KEY (`fornecedorId`) CREATE TABLE IF NOT EXISTS `cotacao` ( `cotaId` int(11) NOT NULL AUTO_INCREMENT, `cotaNumero` varchar(255) DEFAULT NULL, `cotaDtInicio` date NULL DEFAULT NULL, `cotaHrsInicio` time NULL DEFAULT NULL, `cotaDtFim` date NULL DEFAULT NULL, `cotaHrsFim` time NULL DEFAULT NULL, `cotaTitulo` varchar(255) DEFAULT NULL, `cotaObserva` varchar(255) DEFAULT NULL, `cotaStatus` int(1) NOT NULL, `clienteId` varchar(11) DEFAULT NULL, `desc_categ` varchar(255) DEFAULT NULL, `desc_pgto` varchar(255) DEFAULT NULL, PRIMARY KEY (`cotaId`) //Mostra os Itens da Cotação CREATE TABLE IF NOT EXISTS `cotacaoItens` ( `cotaItensId` int(11) NOT NULL AUTO_INCREMENT, `cotaNumImport` varchar(255) DEFAULT NULL, `codProdClie` varchar(255) DEFAULT NULL, `cotaQtde` varchar(255) DEFAULT NULL, `cotaComenta` varchar(255) DEFAULT NULL, `cotaVerTxt` varchar(1) DEFAULT NULL, `cotaId` varchar(11) DEFAULT NULL, `clienteId` varchar(11) DEFAULT NULL, `cotaNumero` varchar(255) DEFAULT NULL, PRIMARY KEY (`cotaItensId`) //Mostra as respostas: Produto X Fornecedores CREATE TABLE IF NOT EXISTS `cotacaoResposta` ( `cotaRespId` int(11) NOT NULL AUTO_INCREMENT, `cotaRespQtde` varchar(255) DEFAULT NULL, `cotaRespVlr` varchar(255) DEFAULT NULL, `cotaRespMarca` varchar(255) DEFAULT NULL, `cotaRespObs` varchar(255) DEFAULT NULL, `cotaRespEntrega` varchar(255) DEFAULT NULL, `cotaRespPgto` varchar(255) DEFAULT NULL, `cotaNumero` varchar(255) DEFAULT NULL, `cotaItensId` int(11) DEFAULT NULL, `codProdClie` varchar(255) DEFAULT NULL, `clienteId` varchar(11) DEFAULT NULL, `apres_unid` varchar(255) DEFAULT NULL, PRIMARY KEY (`cotaRespId`) Como consigo efetuar a repetição das descrições dos produtos ? Para que possa ficar assim: 101 CADERNO UNIVERSITÁRIO 1 MATÉRIA 2 Airin Medical 10 6,50 131 LÁPIS N.2 - PRETO 1 ABC Med 10 0,12 2 Airin Medical 20 0,13 140 RÉGUA 30CM - ACRÍLICA 2 Airin Medical 20 5,00 150 BORRACHA MACIA PEQUENA 1 ABC Med 20 0,25 2 Airin Medical 15 0,50 Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Janeiro 23, 2017 Caros amigos Agradeço os auxílio, mas consegui resolver. Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites