Ir para conteúdo
Fórum Script Brasil

eberton

Membros
  • Total de itens

    22
  • Registro em

  • Última visita

Tudo que eberton postou

  1. [Resolvido] agora estou tentado achar o local para colocar! Obrigado!
  2. Bingo! perfeito! utilizei um IF, mas foi diferente e continuava imprimindo! ficou filé aqui, agora é só estilizar! ---- tenho mais 3 exames que tem que sair aqui nesse mesmo relatório que estão em tabelas separadas, mas eu consigo colocar eles para sairem por último que é o de HEMOGRAMA, Cultura e Antibiograma e Urina. Mas isso eu adaptar olhando os código que acho que vai dar certo. já posto aqui o resultado daqui a pouco. Se der certo já dou por resolvido! por enquanto agradeço muito
  3. sim, sim, é quase é isso mesmo, o problema está em organizar a tabela mesmo! e depois tenho que fazer as contagem em cada um agrupamento o COUNT ou SUM. neste caso vou tentar usar o <?php echo $query2->rowCount();?> que me parece que está dando certo com as contagens! Essa modificação que você fez eu havia feito ontem também, e ele DIVIDE, mas também repete isso. acima do campo CÓDIGO, tem também que sair o NOME DO EXAME e COD.SUS do exame, coloquei! vaja como ficou o código agora: <?php $sql_select = "SELECT id_exame,nome_exame,cod_sus_exame FROM tb_cadastro_exame GROUP BY id_exame ORDER BY nome_exame"; try { $query_select = $conecta->prepare($sql_select); $query_select->execute(); $resultado = $query_select->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { echo 'Erro ao Selecionar: ' . $e->getMessage(); } foreach ($resultado as $linha) { $exameId = $linha['id_exame']; $sql2 = "SELECT tb_examegeral.idExameGeral AS codigo, tb_clientes.nome, DATE_FORMAT(tb_examegeral.dataExame,'%d/%m/%Y') AS newData, tb_cadastro_exame.cod_sus_exame, tb_cadastro_exame.nome_exame, tb_convenio.razao_social FROM tb_cadastro_exame,tb_clientes ,tb_examegeral,tb_itemexamegeral, tb_medico,tb_material,tb_convenio WHERE tb_examegeral.idExameGeral = tb_itemexamegeral.idExameGeral AND tb_examegeral.idCliente = tb_clientes.id_cliente AND tb_examegeral.idMedico = tb_medico.id_medico AND tb_examegeral.idMaterial = tb_material.id_material AND tb_examegeral.idConvenio = tb_convenio.id_convenio AND tb_itemexamegeral.idExame = $exameId AND tb_convenio.id_convenio = '2' AND tb_examegeral.dataExame BETWEEN '2013-01-01' AND '2013-01-31' GROUP BY tb_clientes.nome"; // a variavel $resultado1[id_exame] é aonde ta sendo usada como parametro pra cada exame try { $query2 = $conecta->prepare($sql2); $query2->execute(); $resultado2 = $query2->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { echo 'Erro ao Selecionar: ' . $e->getMessage(); } ?> <table width="735"> <tr> <td width="79">Exame:</td> <td width="372" colspan="2" align="left"><?php echo $linha['nome_exame'];?></td> <td width="95" colspan="2">Cod.SUS</td> <td width="95" colspan="2" align="left"><?php echo $linha['cod_sus_exame'];?></td> </tr> </table> <table width="741" border="1"> <thead> <tr> <td width="79"><span>CODIGO</span></td> <td width="372" colspan="2"><span>CLIENTE</span></td> <td width="95" colspan="2"><span>DATA</span></td> </tr> </thead> <tbody> <?php foreach ($resultado2 as $res) { //aqui você começa a dar os echos do resultado que precisa ?> <tr> <td><?php echo $res['codigo']; ?></td> <td colspan="2" align="left"><div align="left"><?php echo utf8_decode($res['nome']); ?></div></td> <td colspan="2"><?php echo $res['newData']; ?></td> </tr> <?php } ?> <tr> <td colspan="3" align="right">Total de Exames:</td> <td><?php echo $query2->rowCount();?></td> </tr> </tbody> </table><br /> <?php } ?> o que está acontecendo é que mesmo os exames que não foram feitos aparece o nome deles, acho que temos que tentar filtrar alguma coisa? vocês está me ajudando muito, se quiser te mando o banco de dados?
  4. Agora sim está quase lá! Eu uso PDO então fiz uma modificação. <table width="741" border="1"> <tr> <td width="79"><span>CÓDIGO</span></td> <td width="372" colspan="2"><span>CLIENTE</span></td> <td width="95" colspan="2"><span>DATA</span></td> </tr> <?php $sql_select = "SELECT id_exame,nome_exame,cod_sus_exame FROM tb_cadastro_exame GROUP BY id_exame ORDER BY nome_exame"; try { $query_select = $conecta->prepare($sql_select); $query_select->execute(); $resultado = $query_select->fetchAll(PDO::FETCH_ASSOC); }catch (PDOException $e){ echo 'Erro ao Selecionar: '.$e->getMessage(); } foreach ($resultado as $linha){ $exameId = $linha['id_exame']; $sql2 = "SELECT tb_examegeral.idExameGeral AS codigo, tb_clientes.nome, DATE_FORMAT(tb_examegeral.dataExame,'%d/%m/%Y') AS newData, tb_cadastro_exame.cod_sus_exame, tb_cadastro_exame.nome_exame, tb_convenio.razao_social FROM tb_cadastro_exame,tb_clientes ,tb_examegeral,tb_itemexamegeral, tb_medico,tb_material,tb_convenio WHERE tb_examegeral.idExameGeral = tb_itemexamegeral.idExameGeral AND tb_examegeral.idCliente = tb_clientes.id_cliente AND tb_examegeral.idMedico = tb_medico.id_medico AND tb_examegeral.idMaterial = tb_material.id_material AND tb_examegeral.idConvenio = tb_convenio.id_convenio AND tb_itemexamegeral.idExame = $exameId AND tb_convenio.id_convenio = '2' AND tb_examegeral.dataExame BETWEEN '2013-01-01' AND '2013-01-31' GROUP BY nome"; // a variavel $resultado1[id_exame] é aonde ta sendo usada como parametro pra cada exame try { $query2 = $conecta->prepare($sql2 ); $query2->execute(); $resultado2 = $query2->fetchAll(PDO::FETCH_ASSOC); }catch (PDOException $e){ echo 'Erro ao Selecionar: '.$e->getMessage(); } foreach ($resultado2 as $res){ //aqui você começa a dar os echos do resultado que precisa ?> <tr> <td><?php echo $res['codigo']; ?></td> <td colspan="2" align="left"><div align="left"><?php echo utf8_decode($res['nome']); ?></div></td> <td colspan="2"><?php echo $res['newData'];?></td> </tr> <?php } }?> O resultado é esse, é exatamento a quatidade de exames efetuados até o momento, 55 exames. achei que iria conseguir separar e somar com HTML e tabelas e tal, mas to levando uma coça. tenho que tentar aproximar o máximo daquela que está em cima. Pode dar mais uma força!
  5. tem como mostar como seria utilizando minha consulta ai acima. Realmente parece melhor, dai a contagem utilizaria de forma mesmo, o que ta mais pegando e mostrar o exame e todos clientes para aquele exame, QTD depois agente soma!
  6. Olha! contar ou somar dá certo, mas ele agrupa e não repete! então estou perdido pensando como vou mostrar isso na tela. Obeservem a imagem: está falatando a ROSE ai que fez o ANT HCV. tem como mostrar isso no PHP? como será feito? acho que não né!
  7. sim, com SUM() me mostra a quantidade de exmes, mas eu preciso contar cada tipo de exame e mostrar os nomes dos pacientes que fizeram ele. então minha consulta retorna assim: assim está quase ok, agora eu preciso separar no meu relatório e dizer que tem: TOTAL ant HCV = 2 e assim por diante separando eles na folha dessa forma:
  8. ok, vamos ver em php então!
  9. Boa noite! preciso criar um relatorio que mostre: EXAME: nome do exame CODIGO | CLIENTE | DATA TOTAL DE EXAMES: X as tabelas são: tb_cadastro_exame,tb_clientes ,tb_examegeral,tb_itemexamegeral, tb_medico,tb_material,tb_convenio: meu mysql: Código: Selecionar tudo SELECT tb_examegeral.idExameGeral AS codigo, tb_clientes.nome, tb_examegeral.dataExame, tb_cadastro_exame.cod_sus_exame, tb_cadastro_exame.nome_exame, tb_convenio.razao_social FROM tb_cadastro_exame,tb_clientes ,tb_examegeral,tb_itemexamegeral, tb_medico,tb_material,tb_convenio WHERE tb_examegeral.idExameGeral = tb_itemexamegeral.idExameGeral AND tb_examegeral.idCliente = tb_clientes.id_cliente AND tb_examegeral.idMedico = tb_medico.id_medico AND tb_examegeral.idMaterial = tb_material.id_material AND tb_examegeral.idConvenio = tb_convenio.id_convenio AND tb_itemexamegeral.idExame = tb_cadastro_exame.id_exame AND tb_convenio.id_convenio = '2' AND tb_examegeral.dataExame BETWEEN '2013-01-01' AND '2013-01-31' ORDER BY nome_exame beleza, aqui me retorna tudo certinho, tb_convenio.id_convenio = '2' é o convenio = SUS, acontece que ele mostra tudo na consulta e eu preciso separar por exame na hora de mostrar na tela tipo: EXAME: Acido Urico CODIGO | CLIENTE | DATA 23 jose 2013-01-01 54 maria 2013-01-21 TOTAL DE EXAMES: 2 EXAME: Albumina CODIGO | CLIENTE | DATA 33 jose 2013-01-01 24 jao 2013-01-21 25 sebastiao 2013-01-21 TOTAL DE EXAMES: 3 e assim por diante, o Layout é de menos pra montar, preciso filtrar, contar e mostrar; tem como fazer isso por SQL? não? qual seia forma certa? como seria no php? são 60 tipos de exames, é um relatório que vai dar + ou - umas 30 folhas todos os meses
  10. Bom dia! Tenho um player em js: esse "http://www.codebasehero.com/download/?file=music-player" onde no corpo do documento tenho essa função: $(document).ready(function(){ $('body').ttwMusicPlayer(myPlaylist, { autoPlay:false, description:description, jPlayer:{ swfPath:'../plugin/jquery-jplayer' //You need to override the default swf path any time the directory structure changes } }); }); ela chama um arquivo chamdo myPlaylist que contém: var myPlaylist = [ { mp3:'mix/1.mp3', //pasta onde estão as musicas title:'Sample', // nome da musica artist:'Sample', // artista duration:'0:30', cover:'mix/1.png' // capa do cd } ]; quando eu tenho que adicionar mais uma musica na lista eu faço de desse jeito: { mp3:'mix/1.mp3', //pasta onde estão as musicas title:'Sample', // nome da musica artist:'Sample', // artista duration:'0:30', cover:'mix/1.png' // capa do cd }, //virgula { mp3:'mix/2.mp3', //pasta onde estão as musicas title:'titulo', // nome da musica artist:'nome', // artista duration:'0:30', cover:'mix/1.png' // capa do cd } O problema é que eu tenho 15 músicas nessa pasta e tenho outras pastas ainda mas, quero resolver primeiro essa. Queria saber se tem como fazer um laço para buscar essas musicas e exibir no vetor, de forma também que pegasse o title, artist, duration de forma automático?
  11. Acho que resolvi por enquanto, Havia esquecido de um GROUP BY GROUP BY tb_cadastro_exame.nome_exame COUNT(tb_cadastro_exame.nome_exame) se tiver alguma outra sugestão agradeço!
  12. Bom! não estou conseguindo somar as categorias que preciso: sql: SELECT tb_examegeral.idExameGeral, DATE_FORMAT(tb_examegeral.dataExame,'%d/%m/%Y') AS newData, tb_convenio.id_convenio, tb_convenio.nome_convenio, tb_cadastro_exame.id_exame, tb_cadastro_exame.nome_exame, tb_cadastro_exame.valor FROM tb_cadastro_exame , tb_clientes , tb_examegeral , tb_itemexamegeral , tb_medico , tb_material , tb_convenio WHERE tb_examegeral.idExameGeral = tb_itemexamegeral.idExameGeral AND tb_examegeral.idCliente = tb_clientes.id_cliente AND tb_examegeral.idMedico = tb_medico.id_medico AND tb_examegeral.idMaterial = tb_material.id_material AND tb_examegeral.idConvenio = tb_convenio.id_convenio AND tb_itemexamegeral.idExame = tb_cadastro_exame.id_exame AND tb_convenio.nome_convenio = 'SUS' Resulata é: Eu preciso agrupar e contar a quantidade de cada exame EX: HEMOGRAMA COMPLETO = 4 EX: PLAQUETAS = 2 ETC.
  13. eberton

    [RESOLVIDO]Como faço isso?

    o cliente já tem tudo cadastrado e eu estou tentando passar para outro banco de dados: ele tem uma tabela chamada: cad_clientes: campos:(id, nome, dep1, dep2, dep3, dep4, dep5, dep6, dep7, par1, par2, par3, par4, par5, par6, par7, mensalidade) e todos os dados já estao preenchidos ele tem 1230 registros, CLIENTES com seus DEPENDENTES e PARENTESCOS. e tem essa outra tabela que eu criei pra ele no meu sistema: tb_clientes: eu quero passar tudo para ela, somente isto. campos:(id_cli, nome, dependentes, mensalidade); ex: cad_clientes com ID=1 NOME=joao (todos dependentes com parentescos cadastrados) mensalidade=30.00 tb_cliente com ID=1 NOME=joao DEPENDENTES=(quero colocar todos eles aqui porque o cliente é o mesmo, só que vou ter apenas um campo para dep+par)
  14. boa dia a todos! eu gostaria de saber como eu faço para iserir varios arquivos em outra tabela, tipo: tenho um ("SELECT id,dep,mensalidade FROM tb_dependentes") que monta uma tabela dessa forma: ID | DEPENDENTES | MENSALIDADE 1 | joao, jose | 25.00 2 | maria, joana | 25.00 3 | bastiao, julano | 25.00 quero agora inserir isso tudo dentro de uma outra tabela chamada tb_clientes WHERE "id" tb_dependentes seja igual ao "id" tb_clientes; detalhe: só vai inserir os DEPENDENTES E MENSALIDADES de acordo com o ID, não quero inserir UM por UM mas todos. eu pego os dados no <input> e no <textarea> via post $id = $_POST['id']; $dependentes= $_POST['dep']; $plano = $_POST['plano']; mas somente pega um de cada e eu tenho 980 registro para serem alterados em uma outra tabela. Antes eu tinha uma tabela no BANCO que armazenava os dependentes e seus devidos parentescos da seguinte forma: DEPENDENTES : dep1, dep2, dep3, dep4, dep5, dep6, dep7, par1, par2, par3, par4, par5, par6, par7 agora com minha nova tabela eu armazeno tudo dentro de um unico campo chamado dependentes que é um text dai o cara digita da seguinte forma: Joao da Silva - Filho Jose Saramago - Irmao e é gravado lá dessa forma, então resgatei os dados com o SELECT acima para poder inserir na outra tabela, mas somente sei inserir um por vez.
  15. ola a todos! procurei no foum mas não encontrei. estou aqui mais uma vez para pedir informações e aprender ainda mais. bom tenho um sistema em php com cadastros de clientes e outros, para cada cliente cadastrado eu prciso gerar boletos para pagamentos na Caixa Economica ou qualquer outro banco, mas de preferencia a CEF, tenho que gerar sempre 12 boletos para o cliente pode pagar em datas que o sistema especifica, porem, gostaria de saber como eu faço para gerar boletos do tipo carnê de pagamento porque eu tenho que sempre 24 boletos e fica muito grande na folha A4, tem que ser daqueles com CANHOTO, para ficar bem mais viavel para o cliente, caso alguém tiver um modelo da caixa eu tento enquadrar ele no layout para caber 3 por folha. obrigado.
  16. eberton

    Imprimir Carnê

    boa tarde! sdezequiel estou com o mesmo problema que voce, preciso gerar carne con canhoto para ser pagos no banco ou na propria empresa e com layout ca CEF. voce consegui fazer o seu?
  17. galera tenho esse script que originalmente foi criado por "davidchc" nos modificamos alguns itens. o negocio é o seguinte, não estou conseguindo verificar o valor do produto junto com o produto escolhido, somente isso: se puderem me ajudar agradeço: banco: -- -- Estrutura da tabela `prod` -- CREATE TABLE IF NOT EXISTS `prod` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(30) NOT NULL, `descricao` text NOT NULL, `tipo` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6; -- -- Extraindo dados da tabela `prod` -- INSERT INTO `prod` (`id`, `nome`, `descricao`, `tipo`) VALUES (1, 'Pizza de Calabreza', '', ''), (2, 'Pizza de Atum', '', ''), (3, 'Pizza Vegetariana', '', ''), (4, 'Pizza Portuguesa', '', ''), (5, 'Pizza Mista', '', ''); -- -------------------------------------------------------- -- -- Estrutura da tabela `tamanho` -- CREATE TABLE IF NOT EXISTS `tamanho` ( `id` int(11) NOT NULL AUTO_INCREMENT, `tamanho` varchar(20) NOT NULL, `valor` decimal(12,2) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5; -- -- Extraindo dados da tabela `tamanho` -- INSERT INTO `tamanho` (`id`, `tamanho`, `valor`) VALUES (1, 'Pequena', '11.00'), (2, 'Media', '20.00'), (3, 'Grande', '25.00'), (4, 'Super', '30.00'); index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Carrinho TCC</title> </head> <body> <? require("conexao.php"); $preço = mysql_query("SELECT * FROM tamanho"); while($ln = mysql_fetch_array($preço)){ $t = $ln['tamanho']; $v = $ln['valor']; $id = $ln['id']; if($t == 'Pequena'){$p = $v;} if($t == "Media") {$m = $v;} if($t == "Grande") {$g = $v;} if($t == "Super") {$s = $v;} } ?> <form nome="form1" method="post" action="carrinho.php?acao=add"> <br /> <label> <input type="radio" name="opcao" id="radio" value="P" /> </label> Pequena R$ <? echo number_format($p,2,',','.');?> <br /> <label> <input type="radio" name="opcao" id="radio2" value="M" /> </label> Media R$ <? echo number_format($m,2,',','.');?> <br /> <label> <input type="radio" name="opcao" id="radio3" value="G" /> </label> Grande R$ <? echo number_format($g,2,',','.');?> <br /> <label> <input type="radio" name="opcao" id="radio4" value="S" /> </label> Super R$ <? echo number_format($s,2,',','.');?> <p> </p> <p>OPÇÕES DE SABORES: <BR /> <br /> <select name="idProd"> <option>Selecione</option> <?php require("conexao.php"); $sql = "SELECT * FROM prod"; $qr = mysql_query($sql) or die(mysql_error() ); while($ln = mysql_fetch_assoc($qr)){ $nome = $ln['nome']; $id = $ln['id']; echo "<option value=\"$id\">$nome</option>\n"; } ?> </select> <label> <input type="submit" value="adicionar" /> </label> </p> </form> </body> </html> carrinho.php <?php session_start(); $op = @$_POST['opcao']; if($op == 'P'){$op = 11.00;} if($op == "M"){$op = 20.00;} if($op == "G"){$op = 25.00;} if($op == "S"){$op = 30.00;} //Verifica se sessão carrinho existe, caso não existe atribui um array if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //Verifica se existe alguma ação if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ //resgatao valor via Post $id = intval($_POST['idProd']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; }else{ $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Carrinho de compras</title> <link rel="stylesheet" type="text/css" href="css/estilo.css"/> </head> <body> <table align="center"> <caption> Carrinho de Compras </caption> <thead> <tr> <th width="244" bgcolor="#0066FF">Produto</th> <th width="79" bgcolor="#0066FF">Quantidade</th> <th width="89" bgcolor="#0066FF">Preço</th> <th width="100" bgcolor="#0066FF">subtotal</th> <th width="64" bgcolor="#0066FF">Remover</th> </tr> </thead> <form action="?acao=up" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td> <tr> <td colspan="5"><a href="index.php">Continuar Comprando </a><br /><br /><a href="carrinho.php?acao=finalizar">fechar pedido </a></td> </tr> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr><td align="center" colspan="5">Não há produto no carrinho</td></tr>'; }else{ require("conexao.php"); foreach($_SESSION['carrinho'] as $id => $qtd){ $sql = "SELECT * FROM prod WHERE id= '$id'"; $qr = mysql_query($sql) or die(mysql_error()); $ln = mysql_fetch_assoc($qr); $nome = $ln['nome']; $preço = number_format($op, 2, ',', '.'); // selecionei aqui o preço da opçao $sub = number_format($op * $qtd,2,',','.'); // selecionei aqui o preço da opçao //@$total += $sub; @$total += $op * $qtd; echo '<tr> <td id="nome">'.$nome.'</td> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td>R$ '.$preço.'</td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'">Remove</a></td> </tr>'; } $total = number_format($total,2, ',','.'); echo '<tr> <td align="center" colspan="4">Total</td> <td id="total">R$ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </body> </html>
  18. é somente mostrar no carrinho o nome e o valor do produto, a quantidade o usuario digita, somente a forma de enviar para o carrinho que gostaria que fosse o list/menu, quanto ao valor isso vai depender do tamanho da pizza que o suario escolher. meu banco: primeiro eu faço tudo como teste para depois jogar no meuu projeto ok. mxmaster: -- -- Banco de Dados: `pizza` -- -- -------------------------------------------------------- -- -- Estrutura da tabela `produtos` -- CREATE TABLE IF NOT EXISTS `produtos` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `preço` decimal(10,2) NOT NULL, `imagem` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6; -- -- Extraindo dados da tabela `produtos` -- INSERT INTO `produtos` (`id`, `nome`, `preço`, `imagem`) VALUES (1, 'Pizza de Calabreza', '10.90', 'pizza1'), (2, 'Pizza de Atum', '20.00', 'pizza2'), (3, 'Pizza Vegetariana', '15.00', 'pizza3'), (4, 'Pizza Portuguesa', '25.00', 'pizza4'), (5, 'Pizza Mista', '31.42', 'pizza5'); index.php: "fiz a modificação para o seu código <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Carrinho TCC</title> </head> <body> <form nome="form1" method="post" action="carrinho.php"> <input type="hidden" name="IDProd" value="<?=$id?>"> <p>OPÇÕES DE SABORES: <BR /> <br /> <select name="sabor"> <option>Selecione</option> <?php require("conexao.php"); $sql = "SELECT * FROM produtos"; $qr = mysql_query($sql) or die(mysql_error() ); while($ln = mysql_fetch_assoc($qr)){ $nome = $ln['nome']; $id = $ln['id']; ?> <option value="<?=$id ?>"><?=$nome?></option> <? } ?> </select> <label> <input type="submit" value="adicionar" /> </label> </p> </form> </body> </html> já no carrinho.php é onde são as maiores duvidas: <?php $sabor = $_POST['sabor']; // coloquei esse echo aqui pra eu ver se echo "$sabor"; // estava passando o valor do option break; // esta ok, ele ta passando assim: 1, 2 , 3 , 4 , 5 a cada seleçao que é exatamnete a ordem cadastrada no banco // então até aqui esta ok. session_start(); if(!isset($_SESSION['carrinho'])){ //aqui é o problema não estou conseguindo passar o valor da option para a session $_SESSION['carrinho'] = array(); // e depois ainda tenho que clicar em finalizar o pedido e mandar tudo para outra tabela no banco. } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; }else{ $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Carrinho de compras</title> <link rel="stylesheet" type="text/css" href="css/estilo.css"/> </head> <body> <table align="center"> <caption>Carrionho de Compras</caption> <thead> <tr> <th width="244" bgcolor="#0066FF">Produto</th> <th width="79" bgcolor="#0066FF">Quantidade</th> <th width="89" bgcolor="#0066FF">Preço</th> <th width="100" bgcolor="#0066FF">subtotal</th> <th width="64" bgcolor="#0066FF">Remover</th> </tr> </thead> <form action="?acao=up" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td> <tr> <td colspan="5"><a href="index.php">Continuar Comprando</a></td> </tr> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr><td align="center" colspan="5">Não há produto no carrinho</td></tr>'; }else{ require("conexao.php"); foreach($_SESSION['carrinho'] as $id => $qtd){ $sql = "SELECT * FROM produtos WHERE id= '$id'"; $qr = mysql_query($sql) or die(mysql_error()); $ln = mysql_fetch_assoc($qr); $nome = $ln['nome']; $preço = number_format($ln['preço'], 2, ',', '.'); $sub = number_format($ln['preço'] * $qtd,2,',','.'); //@$total += $sub; @$total += $ln['preço'] * $qtd; echo '<tr> <td>'.$nome.'</td> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td>R$ '.$preço.'</td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'">Remove</a></td> </tr>'; } $total = number_format($total,2, ',','.'); echo '<tr> <td align="center" colspan="4">Total</td> <td>R$ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </body> </html>
  19. so passa valores em branco para o banco de dados.
  20. quanto ao $_POST, eu sei pegar mais parametros pelo post, eu gostaria de saber se tem como fazer isso no POST['$var',$var2','var3'] , etc. eu não tenho mais campos para passar pelo POST eu tenho 1 select que recebe os valores do banco de dados: vou passar o codigo completo: então gente, eu estou mostrando o conteudo de uma tabela em um list/menu e quando o usuario escolher um sabor de pizza e clicar no botão adicionar, tem que ser adiconado no carrinho: codigo do produto, nome do produto, valor do produto. depois vou até colocar a quantidade. codigo da tabela: CREATE TABLE IF NOT EXISTS `tb_produto` ( `pro_cod` int(11) NOT NULL AUTO_INCREMENT, `pro_nome` varchar(30) DEFAULT NULL, `preco1` decimal(6,2) DEFAULT NULL, PRIMARY KEY (`pro_cod`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=45; ************************************************************************** CREATE TABLE IF NOT EXISTS `carrinho` ( `id_produto` int(11) NOT NULL AUTO_INCREMENT, `nome_produto` varchar(200) NOT NULL, `preco_produto` double(10,2) NOT NULL, `qtd_produto` int(11) NOT NULL, `sessao` text NOT NULL, PRIMARY KEY (`id_produto`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3; codigo do form: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <form id="form1" name="form1" action="cart.php?acao=add " method="post"> <p>SELECIONE OS ITENS ABAIXO <br />&nbsp;&nbsp;&nbsp; DA PIZZA SALGADA:</p> <table > <tr> <td width="299">SABOR 1:&nbsp;&nbsp; <select name="sabor"> <option>Selecione</option> <? include "config.php"; $sql_pesquisar = mysql_query("SELECT * FROM tb_produto WHERE pro_tipo LIKE 'pizza' ORDER BY pro_nome ASC"); while($linha = mysql_fetch_array($sql_pesquisar)){ ?> <option><?=$linha['pro_cod']. "&nbsp;&nbsp;".$linha['pro_nome']. "&nbsp;&nbsp;".$linha['preco1'] ?></option> <? } ?> </select> </tr> <tr> <td><label> <input type="submit" name="adicionar" id="adicionar" value="ADICIONAR" /> </label> </tr> </table> </form> </body> </html> codigo do cart.php esta inserindo valores em branco. <? include "config.php"; $sabor = @$_POST['sabor']; $id = $_POST['pro_cod']; $nome = $_POST['pro_nome']; $valor = $_POST['preco1']; if($_GET['acao'] == "add"){ $sql_add = mysql_query(" INSERT INTO carrinho (id_produto,nome_produto, preco_produto, sessao) Value ('$id','$nome','$valor','$sabor') ") OR DIE(mysql_error()); } ?>
  21. oi! bom primeiro voce tem que criar o banco: depois arquivo de conexao com o banco de dados: config.php <? $db = mysql_connect("localhost","root",""); $dados = mysql_select_db("nome do banco",$db); ?> depois criar um novo documento em php. form.php e no action se quiser pode chamar outra pagina php como no exemplo abaixo. <form id="form1" name="form1" method="post" action="funcoes.php"> <table width="362" border="0" cellpadding="3" cellspacing="3"> <tr> <td width="69">Nome:</td> <td width="283"><label> <input name="nome" type="text" id="nome" size="40" /> </label></td> </tr> <tr> <td>E-mail:</td> <td><input name="email" type="text" id="email" size="40" /></td> </tr> <tr> <td>Cidade:</td> <td><input name="cidade" type="text" id="cidade" size="40" /></td> </tr> <tr> <td>Mensagem:</td> <td><label> <textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea> </label></td> </tr> <tr> <td>&nbsp;</td> <td><label> <input type="submit" name="button" id="button" value="Cadastrar" /> </label></td> </tr> </table> </form> agora crie um novo documento em php que vai fazer a gravaçao de dados no formulario. funoes.php <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <? include "conexao.php"; $grava_nome = $_POST['nome']; $grava_email = $_POST['email']; $grava_cidade = $_POST['cidade']; $grava_mensagem = $_POST['mensagem']; //******************************************************************* $sql_gravar = mysql_query("INSERT INTO tb_prova (nome, email, cidade, mensagem) value ('$grava_nome','$grava_email','$grava_cidade','$grava_mensagem')"); header('Location:form.php'); //vai voltar para pagina inicial ?> lembre de configurar o Wamp para aceitar as shorts tag do php. espero que seja isto
  22. bom dia a todos! sou novo no forum para postagens, mas já acompanho a algum tempo. Estou desenvolvendo meu TCC em php com Mysql, o tempo esta acabando tenho que entregar dia 16/11/2009 e só esta faltando o pedido online e alguns itens na parte administrativa. bom, estou mostrando em um list/menu, os valores cadastrado no me banco de dados: cod_prod, nome_prod, valor_prod, ok tudo beleza! Quando adiciono no carrinho ai que pega. arquivo: cart.php Código: Selecionar tudo <? include "config.php"; $sabor = @$_POST['sabor']; if($_GET['acao'] == "add"){ // assim não insere nada $sql_add = mysql_query(" INSERT INTO carrinho (id_prod, nome_prod, valor_prod) Value ('$sabor') "); } ?> // assim insere só o nome, mas preciso do id e valor. $sql_add = mysql_query("INSERT INTO carrinho ( nome_prod ) Value ('$sabor') "); Como passar mais parametros pelo $_POST? Ou to querendo demais rsrsrsrs. No meu arquivo fazer_pedido.php esta deste jeito: Código: Selecionar tudo <? if(@$_GET['tipo'] == "salgada"){ ?> <form id="form1" name="form1" action="cart.php?acao=add&cod=<?=$linha['pro_cod']?> " method="post"> <p>SELECIONE OS ITENS ABAIXO <br /> DA PIZZA SALGADA:</p> <table > <tr> <td width="299">SABOR 1: <select name="sabor" size="1" id="sabor"> <? include "config.php"; $sql_pesquisar = mysql_query("SELECT * FROM tb_produto WHERE pro_tipo LIKE 'pizza' ORDER BY pro_nome"); while($linha = mysql_fetch_array($sql_pesquisar)){ ?> R$ <? echo $pega_preco ?> --> <option>COD = <?=$linha['pro_cod'] . " ".$linha['pro_nome']. " ".$linha['preco1']?> </option> <? } ?> </select> <input type="submit" name="adicionar" value="adicionar" /> </tr> </table> </form> <? } ?> espero que possam me ajudar, já vi varios tutoriais e video aulas de carrinho, mas nehum com list/menu inserindo no banco de dados. por tabela e colocando um link para adicionar no carrinho consigo fazer normalmente, porem acho que fica meio estranho, a pagina fica muito grande. obrigado!
×
×
  • Criar Novo...