Ir para conteúdo
Fórum Script Brasil
  • 0

ARRAY php


valci

Pergunta

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">
<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">&nbsp;</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:
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...