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

Duvida Com Foreach


brunohcs

Pergunta

Bom seguinte maiorçada.

no formulário tem os campos

prosol_id -> que é o id do produto que foi solicitado

procot_unitario - > que é o valor que o cara cotou

procot_total - > que é o valor total

o usu_id que é inserido ali pega da sessão

mas então.. esses campos ali do formulário são de numero N

dai eu to colocando id="prosol_id[1]" cujo aquele um ali é apenas um numero que segue a sequencia do while não tem nd a ver com o produto solicitado ou outra coisa..

e não está dando certo ai não to intendendo como fazer

meu foreach está abaixo!

foreach ($_POST['prosol_id'] as $id => $valor) { 
$up = mysql_query( "INSERT INTO oc_produtos_cotados prosol_id, procot_total, procot_unitario, usu_id) VALUES ('$prosol_id','$total','$unitario','$sc_id')");

vlw ai qm puder me ajuda ou não puder hehe

abraços a todos!!

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Não entendi a sua query:

$up = mysql_query( "INSERT INTO oc_produtos_cotados prosol_id, procot_total, procot_unitario, usu_id) VALUES ('$prosol_id','$total','$unitario','$sc_id')");

Não acha que esta errada não??

Link para o comentário
Compartilhar em outros sites

  • 0

Pior que está!

$up = mysql_query( "INSERT INTO oc_produtos_cotados (prosol_id, procot_total, procot_unitario, usu_id) VALUES ('$prosol_id','$total','$unitario','$sc_id')");

Ahh... e se mesmo assim não funcionar, tente colokar dentro do Foreach (dentro de { e }) assim

echo "Testando";

para ver c ele está conseguindo entrar dentro do Foreach, mas acho que era erro no MySQL mesmo!

Link para o comentário
Compartilhar em outros sites

  • 0

Warning: Invalid argument supplied for foreach() in /home/httpd/htdocs/crone1br/oc/solicitacao/cotar_v2.php on line 31

saka o erro maiorçada é no foreach o erro.. e não no mysql.. ele até podia estar errado. mas o erro que aponta no momento é o foreach...

vo te que fazer uma gambiarra nervosa memo se não receber isso aí! :(

Link para o comentário
Compartilhar em outros sites

  • 0

dexa eu tentar explicar melhor..

o foreach pelo que eu entendi.. trabalha com apenas uma matriz..

por exenplo $preço = '1,4,7,2,3,4,5';

está.. só que a minha tem mais de uma matriz por exemplo

$preço

$id

$nome

sakou? iso que da dando o problema

quem souber me ajuda :(

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

tem um form cara.. ele puxa um numero "N" de produtos que precisam ser cotados..

então ele tem o campo do produto solicitado, e preço do valor unitario,

então..

fica lá os campos

<input type='text' name='unitario[]'>

<input type='hidden' name='id_produto[]'>

sakou velho? dai eu do o insert neles no banco de dados!

se não intendeu fala ai que tento explica d novo o que eu quero fazer!!

vlw pela força que está dando!

Link para o comentário
Compartilhar em outros sites

  • 0

for($i=0; $i<count($_POST['prosol_id']);)

{

// Coloca o calculo usando assim

$unitario = $_POST['unitario'][$i];

$prosol_id = $_POST['prosol_id'][$i];

$up = mysql_query( "INSERT INTO oc_produtos_cotados (prosol_id, procot_total, procot_unitario, usu_id) VALUES ('$prosol_id','$total','$unitario','$sc_id')");

$i++;

}

puis isso aqui cara,

o resto do form, qua grava em otra tabela está indo.. que é um update lá.

mas os produtos continuam não cadastrando :(

Link para o comentário
Compartilhar em outros sites

  • 0

$unit = $_POST['unitario'];

$pros = $_POST['prosol_id'];

for($i=0; $i<count($pros); i++)

{

$unitario = $unit[$i];

$prosol_id = $pros[$i];

mysql_query( "INSERT INTO `oc_produtos_cotados` (`prosol_id`, `procot_total` , `procot_unitario`, `usu_id`) VALUES ('$prosol_id','$total','$unitario','$sc_id')");

}

testa dessa forma...

vê c funciona

Link para o comentário
Compartilhar em outros sites

  • 0

tamo chegando lá haha!!

seguinte deu erro nessa linha que tu escxreveu

for($i=0; $i<count($pros); i++)

dau eu botei o $ ali que tava faltando e continuo com erro..

Parse error: syntax error, unexpected ';', expecting ')' in /home/httpd/htdocs/crone1br/oc/solicitacao/cotar_v2.php on line 40

dai eu botei ele dentro do {}

ai .. ele envio os valores pro DB.. a não ser o do primeiro!!

provavelmente é porque o $i++; está ali dentro.. mas lá ein cima não funciona.. e agora?

mas já está qse.. to testando com envio de 4 produtos e só o 1° deu pau cara.. :D

Link para o comentário
Compartilhar em outros sites

  • 0

velho.. tu é d+! haha.. funfo direitinhu :lol:

muito muito obrigado cara...!!

está funfando como eu queria a parada haha!

depois de praticamente 2 dia veio bua bua haha

muito bom.. vlw vlw.;;

só me explica uma coisa.. porque que não deu com o $i começando do zero? e teve eq fazer akilo ali?

se tiver de sako xei otbem nem precisa fala nd já me salvo haha.. vo fazer um teste aqui agora com mais produtos solicitados e ver no que da :D

BRIGADÃO BROTHER

Link para o comentário
Compartilhar em outros sites

  • 0

cara, eu n sei se é isso, mas provavelmente, quando é usado uma ARRAY num FORM, ele inicia do 1, tpo, quando você tem assim

$x = null;

$x++;

Ele não RETORNA 0, retorna 1, então acho que seria no mesmo tpo

teste[]

Daria o mesmo que fazer teste++;

FAzendo iniciar do 1

XD

FLWS!

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...