Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cmdmss

Gravar dados do $_POST num array(ta dano um loop esquisito demais

Recommended Posts

Pessoal, boa noite.

 

Tenho vários input texts, quero grava-los em um banco... to fazendo um loop pra pegar os posts da seguinte forma

 

if(isset($_POST["bt"])){
    foreach($_POST as $i => $a){
        if($i!="col1" && $i!="col2" && $i!="col3"){
           $card[$n] = $a;
           $n++;   
           if($n == 8){
            $n = 0;
           } 
        }
            
           print_r($card)."<br />";
                         
    }
}

Nesse print_r ai ta saindo o array, so que o $a repete 5x(5 arrays com os mesmos valores) e depois passa pro próximo campo...

 

se eu comento tudo e mando um echo no $a, sai tudo direitinho....

 

Alguem ve alguma falha ai??

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi a finalidade desse trecho

 

 if($n == 8){   $n = 0;  } 

 

o vai ocorrer é que quando chegar ao index 8, então voltará ao zero.. substituindo o que já havia sido atribuído..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, esta correto.

 

É que ainda tem uma linha que grava no banco de dados, mas eu ainda não implementei... antes tenho que saber porque isso esta acontecendo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

se antes não entendi, agora menos ainda.

 

rsrsr..

 

se puder explicar novamente o que está fazendo, aumentará chances de alguém ajudá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok... vamos lá...

 

Eu tenho uma tela em HTML com 50 inputs(text)... cada input com um name diferente...

 

o que eu desejo fazer é pegar o value desses inputs e jogar em uma tabela no mysql...

 

para isso então eu fiz um foreach com a intenção de jogar os values em uma matriz... e qnd a matriz de 7 posições for preenchido, ele vai gravar os valores no banco de dados(ainda ñ implementado)... ok?

 

perceba que tem um if para ignorar os inputs que eu não quero colocar na matriz que é if($i!="col1" && $i!="col2" && $i!="col3"). certo?

 

Bem, agora é que vem o buraco... se eu mando echo $a, os valores dos inputs saem todos certinhos....

 

agora se eu jogo o $a dentro da matriz é que vem o problema.... ele repete o input 5x pra depois passar pro proximo... e quando passa pro proximo, repete mais 5x e passa pro proximo... e assim sucessivamente.... deu pra entender??? Detalhando um pouco mais... ele pega os 7 primeiros inputs e joga na matriz... cada um em sua posição como desejado... ate ai tudo bem... mas em vez de ele passar para os proximos 7 inputs... ele repete os inputs que ele acabou de gravar na matriz em uma nova matriz... e faz isso por mais 5x... sacou?

 

Se alguem tiver uma ideia de como eu faço isso melhor eu aceito sugestões...

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo..

 

o problema é a lógica implementada.

 

vc acabou complicando algo muito simples..

 

sugiro modificações na lógica dos campos no html para facilitar no php

 

1. padronize os nomes dos campos dentro um vetor ou matriz

 

exe:

<input type="text" name="foo[0][0]">

<input type="text" name="foo[0][1]">

<input type="text" name="foo[0][1]">

<input type="text" name="foo[1][0]">

<input type="text" name="foo[1][1]">

 

No PHP bastaria pegar diretamente e não precisaria fazer essa condicional para "driblar" esses outros campos

if(isset( $_POST['foo'] ))
{
    foreach($_POST['foo'] as $i => $a){
        // aqui faz os bagulho
    }
}

Quanto aos inserts no banco de dados.. não sei o que está fanzendo..

Dependendo do caso pode haver outro meio mais apropriado.

Afinal, qual motivo de executar as queries dessa forma como está fazendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Serio??? eu posso fazer isso no html??? Oh loco.... vivendo e aprendendo!!!

 

Foi a forma que eu achei melhor de fazer... é a primeira vez que me deparo com esta situação e no momento estou trabalhando sozinho... então não tem uma segunda cabeça para me ajudar....

 

mas enfim, vou testar isso hoje a noite e posto os resultados...

 

se tiver uma forma melhor de fazer isso, fico muito agradecido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo... desisti de fazer o que eu queria fazer... vou tomar outro caminho para tentar resolver esta questão... mas descartei array...

 

Gostaria de um auxilio... gostaria de fazer o seguinte.

 

Tenho uma tabela no mysql... com algumas colunas....

 

Tenho um formulário no html... com varias linhas e algumas colunas...

 

Cada coluna do formulário corresponde a uma coluna do mysql...

 

Gostaria de gravar o valor das inputs(text) das colunas do meu formulário nas respectivas colunas da minha tabela no mysql...

 

Enfim a pergunta... qual seria a melhor maneira de fazer isso??

 

:huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

creio que array seria a forma mais prática..

 

é basicamente o que está nos posts acima..

 

se está com dificuldade e necessita de auxílio particular, contrate um auxiliar, freelancer, etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho experiencia com programação / PHP, porem nunca passei por esta situação... vou quebrar a cabeça aqui... obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.