Jump to content


Photo

Foreach Não Funciona Da Maneira Desejada


  • Faça o login para participar
3 replies to this topic

#1 Hudson

Hudson

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 04/02/2006, 08:28

Tenho um campo de formulário assim:
<input type="text" name="<?php echo $resultado['cod_produto']; ?>" size="2" maxlength="2" value="<?php echo $resultado['quantidadeproduto']; ?>">

E tenho esse código para reseber os dados do formulário na mesma página:
if(!(empty($_POST)))
	{
  $delete1 = "DELETE FROM tbpedidos_itens WHERE cod_pedido=" .$_SESSION['cod_ped']. "";
  $rsdelete1 = mysql_query($delete1,$conexao);
  foreach ($_POST as $field_name)
  if($field_name <> "B1" AND $_POST['$field_name'] <> "0" AND trim($_POST['$field_name']) <> "")
  	{
    $sql = "INSERT INTO tbpedidos_itens (cod_pedido, cod_produto, quantidadeproduto) VALUES (" .$_SESSION['cod_ped']. ",'$field_name'," .$_POST['$field_name']. "";
    $rs = mysql_query($sql,$conexao);
  	}
	}

O que tem que ocorrer é o seguinte: quando o usuário mudar a quantidade de produtos nesse formulário e dar o SUBMIT o PHP vai pegar a sessão cod_ped e deletar todos os produtos relacionados a ela. Depois o FOREACH vai pegar esses dados no $_POST como ARRAY e vai refazer o carrinho de compras já com os valores alterados pelo usuário.

O que ta acontecendo é que só está deletando o carrinho e não está refazendo-o mais. Eu acho que o erro está no if das condições para ele refazer o carrinho e não tá deixando ele executar o SQL.

Alguém pode me ajudar? :blink:

Edição feita por: Hudson, 04/02/2006, 08:54.


#2 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 04/02/2006, 08:35

Confeço que não li por completo, mas de inicio, já vi algo que pode estar complicando.

name="<?php echo $resultado['cod_produto']; ?>"

Ai vai exatamente o ID de cada produto? Um número? Nenhuma variável pode ser iniciada com números.
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#3 Hudson

Hudson

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 04/02/2006, 08:56

Bem lembrado. Então como que o usuário irá fazer para alterar a quantidade do produto?

Edição feita por: Hudson, 04/02/2006, 09:00.


#4 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 04/02/2006, 14:09

Bom, tente fazer assim:
<input type="hidden" name="produto[]" size="2" maxlength="2" value="<?php echo $resultado['cod_produto']; ?>">
<input type="text" name="qtdade[]" size="2" maxlength="2" value="<?php echo $resultado['quantidadeproduto']; ?>">

Assim vc vai ter algo como:
produto[0] = 6
qtdade[0] = 1

produto[1] = 2
qtdade[1] = 3

produto[2] = 8
qtdade[2] = 2

...

Daí dá pra usar for()
for($x=0; $x<count($_POST['produto']; $x++)
    echo "Produto: ".$_POST['produto'][$x]." / Qtd: ".$_POST['qtdade'][$x]."<br>";

Veja se assim dá certo!!!
Até mais!
Site: GustavoPaes.net

^ Rumo ao Topo ^




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq