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

Problema com FOR na hora de inserir na tabela


marcosfj1

Pergunta

Seguinte tava quebrando muito a cabeça, e resolvi refazer, e comecar de baixo, eu preciso entender o q esta acontecendo passo a passo nos meus arrays, para poder trabalhar com eles, senao nunca vou pra frente, por isso antes de inserir os dados na tabela, decidi estao meus arrays, se estao recebendo o q mando, se consigo trabalhar com eles...etc

Bom minha primeira meta, foi tentar somar a quantidade que eu insiro em cada array

Aqui esta o meu campo de escolha pela cor, e da quantidade q eu quero naquela cor

<td align="left"> 
<input name="id_cor[]" id="id_cor" type="checkbox" value="<?=$cp['id_cor']?>"><?=$cp['nome'] ?>  
</td> 
<td align="left"> 
<input name="qtde[]" id="qtde" size ="3" maxlength="3" type="text" style="width:21px;font-size: 13px" />Qtde 
</td>
Bem ai eu trato os dados em:
var_dump($_POST['qtde']); 
echo '<br><br>'; 
var_dump($_POST['id_cor']); 
for ($i=0; $i<sizeof($_POST['id_cor']); $i++) {                                  
        $qt_total += $_POST['qtde'][$i];  
        $count++; 
        $alert = 'qtde'.$qt_total.'\n\n'.$count; 
}

Bom alem de colocar um var_dump() para ver o q esta dentro da variavel, eu coloquei um controle(count) para ver quantas vezes é passado dentro do FOR.

Apos selecionar 5 itens(cores) de modo aleatorio, colocando 20 em cada de qtde, eu enviei o formulario e apareceu:

array(20) { [0]=> string(2) "20" [1]=> string(2) "20" [2]=> string(2) "20" [3]=> string(1) "0" [4]=> string(2) "20" [5]=> string(1) "0" [6]=> string(1) "0" [7]=> string(1) "0" [8]=> string(1) "0" [9]=> string(1) "0" [10]=> string(2) "20" [11]=> string(1) "0" [12]=> string(1) "0" [13]=> string(1) "0" [14]=> string(1) "0" [15]=> string(1) "0" [16]=> string(1) "0" [17]=> string(1) "0" [18]=> string(1) "0" [19]=> string(1) "0" }

array(5) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "5" [4]=> string(2) "11" }

Bom com isso eu descobri q no segundo array(5) realmente foram as 5 posicoes que eu escolhi, e que no primeiro array(20) também marcou as posicoes, porem se você somar as qtde "20" vai dar 100...MAS no alert que eu coloquei para ver também o que esta acontecendo, ele mostra la que somou 80 e passou 5 vezes pelo FOR

Eu já até estou conseguindo entender melhor como debugar meu codigo e tentar corrigir meus erros, mas não consigo entender o porque ele não esta somando todos os valores, sendo que as variaveis estao mandando os valores

Será que alguém poderia me ajudar a entender o q está acontecendo?

Valeu

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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
      652k
×
×
  • Criar Novo...