valci Postado Março 17, 2014 Denunciar Share Postado Março 17, 2014 Boa tarde, amigos!! Sou novato em php e estou querendo desenvolver um sistema de pedidos, as coisas ia muito bem até que me deparei com o seguinte problema: 1 - Tenho uma tela que tem duas etapa: uma para cadastrar os perdidos - OK!!! 2 - Tenho uma tela o pedido e os itens do pedidos. ?????? Neste segunda tela não estou conseguindo preencher a ARRAY com os itens selecionado do combox e gravar o pedido no banco de dados. <?php require("conexao.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=utf-8" /> <title>Cadastro de Pedidos</title> </head> <body> <h1>Cadastro de Pedidos</h1> <form action="validar_pedidos.php" method="post" > <table width="548" border="1"> <tr> <td width="68">Nº </td> <td width="76"> </td> <td width="133">Data</td> <td width="243"><input type="text" name="data" value="<?php echo date('Y/m/d');?> "/></td> </tr> <tr > <?php $query = mysql_query("SELECT cod_cli, razao_cli FROM tab_clientes");?> <td>Clientes</td> <td colspan="3"> <select name="razao"> <option>Selecione...</option> <?php while($prod = mysql_fetch_array($query)) { ?> <option value="<?php echo $prod['cod_cli'] ?>"><?php echo $prod['razao_cli'] ?></option> <?php } ?> </select> </td> </tr> <tr> <?php $queryv = mysql_query("SELECT cod_vend, nome_vend FROM tab_vendedor");?> <td>Vendedor</td> <td > <select name="vendedor"> <option>Selecione...</option> <?php while($prodv = mysql_fetch_array($queryv)) { ?> <option value="<?php echo $prodv['cod_vend'] ?>"><?php echo $prodv['nome_vend'] ?></option> <?php } ?> </select> </td> <td>F Paga</td> <td> <?php $query = mysql_query("SELECT cod_fpaga, descricao_fpaga FROM tab_fpaga");?> <select name="fpaga"> <option>Selecione...</option> <?php while($prod = mysql_fetch_array($query)) { ?> <option value="<?php echo $prod['cod_fpaga'] ?>"><?php echo $prod['descricao_fpaga'] ?></option> <?php } ?> </select> </td> </tr> </table> <input type="submit" value="Gravar" /> </form> <form action="" method="post" > <table border="1"> <?php $query = mysql_query("SELECT cod_prod, descricao_prod FROM tab_produtos");?> <tr> <td> <label>Produtos :</label> <select name="produtos"> <option>Selecione...</option> <?php while($prod = mysql_fetch_array($query)) { ?> <option value="<?php echo $prod['descricao_prod'] ?>"><?php echo $prod['descricao_prod'] ?></option> <?php } ?> </select> <td><label>QNT :</label><input type="text" name="qnt" size="15" /></td> <td><label>Valor :</label><input type="text" name="valor" size="15" /></td> </td> <td><input type="submit" value="gravar" /></td> </tr> <tr> <?php $produtos=$_POST['produtos']; $qnt=$_POST['qnt']; $preço=$_POST['valor']; $itens = array("$produtos","$qnt","$preço"); for($i=0;$i<count($itens);$i++) { ?> <td> <input type="text" value="<?php echo "$itens[$i] "?>"/></td> <?php count('$i++');} ?> </tr> </table> </form> </body> </html> exemplo: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Markus Magnus Postado Março 18, 2014 Denunciar Share Postado Março 18, 2014 Bom então vamos começar do início. O usuário acessa essa página escolhe o cliente, vendedor e forma de pagamento, que estão dentro de um form, em outro form ele escolherá um produto dará um submit e depois escolherá o segundo e por ai vai, mas perceba a falha... Ao dar o submit no form dos produtos todo os dados do outro form (cliente, vendedor e forma de pagamento) vão para o espaço e se você der um submit no primeiro form os dados dos produtos é que vão pro vinagre, em resumo você não vai conseguir atrelar os produtos ao pedido. Tem várias formas de fazer isso dar certo, mas para ser mais cômodo para o usuário, seria colocar todos os campos em uma mesma página como você fez, em um mesmo form, para poder salvar todos os dados juntos. Os campos de cliente, vendedor e forma de pagamento, não precisa mecher, o select do produto vai pra dentro do mesmo form junto com o campo da quantidade, porém pra que serve o campo valor? Quem faz o pedido é que determina o quanto vai pagar pelo produto? Bom deixando isso à parte... o name do select e do campo quantidade devem ser mudados é só acrescentar um "[]" na frente dos nomes depois disso o $_POST['produtos'] se torna um array e vai aceitar vários valores. <?php $produtos=$_POST['produtos']; $qnt=$_POST['qnt']; $preço=$_POST['valor']; for($i=0;$i<count($produtos);$i++) { ?> <input type="text" name="produtos[]" value="<?php echo $produtos[$i];?>" disabled="disabled" /> <input type="text" name="qnt[]" value="<?php echo $qnt[$i];?>" disabled="disabled" /> <input type="text" name="valor[]" value="<?php echo $preço[$i];?>" disabled="disabled" /> } ?> <?php $query = mysql_query("SELECT cod_prod, descricao_prod FROM tab_produtos");?> <label>Produtos :</label> <select name="produtos[]"> <option>Selecione...</option> <?php while($prod = mysql_fetch_array($query)) { ?> <option value="<?php echo $prod['descricao_prod']; ?>"><?php echo $prod['descricao_prod']; ?></option> <?php } ?> </select> <label>QNT :</label><input type="text" name="qnt[]" size="15" /> <label>Valor :</label><input type="text" name="valor[]" size="15" /> Essa seria uma das formas de se fazer, alias essa é a forma que menos meche no seu código só repare nos "[]" nos campos names de cada input e select, tirei a variável $itens coloquei dentro do mesmo form e coloquei um disabled="disabled" para o usuário não poder alterar os campos com os produtos já preenchidos. Isso não está completo mas te da um norte de como as coisas tem que ser. Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
valci
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.