Jump to content
Fórum Script Brasil
  • 0

Problema com FOR na hora de inserir na tabela


marcosfj1

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...