cmdmss 0 Denunciar post Postado Julho 9, 2013 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
Marcos Xavier 189 Denunciar post Postado Julho 9, 2013 Você ja setou a variavel $n antes do foreach? Compartilhar este post Link para o post Compartilhar em outros sites
cmdmss 0 Denunciar post Postado Julho 9, 2013 Sim... claro... inicializei ela com 0 Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 9, 2013 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
cmdmss 0 Denunciar post Postado Julho 9, 2013 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
hinom 5 Denunciar post Postado Julho 9, 2013 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
cmdmss 0 Denunciar post Postado Julho 9, 2013 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
hinom 5 Denunciar post Postado Julho 9, 2013 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
cmdmss 0 Denunciar post Postado Julho 9, 2013 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
cmdmss 0 Denunciar post Postado Julho 10, 2013 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
hinom 5 Denunciar post Postado Julho 10, 2013 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
cmdmss 0 Denunciar post Postado Julho 10, 2013 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
hinom 5 Denunciar post Postado Julho 10, 2013 tranquilo.. pensei que vc iria me xingar.. rsrs vai fazendo.. qq dúvida posta aí. Compartilhar este post Link para o post Compartilhar em outros sites
cmdmss 0 Denunciar post Postado Julho 12, 2013 Ok... resolvi sozinho... fiz por array mesmo... eu que estava pecando no código... hehehe valeu! Compartilhar este post Link para o post Compartilhar em outros sites