nknk 3 Denunciar post Postado Maio 10, 2009 Qual é maneira correta de atualizar os dados de formulários deste tipo em que os dados estão disposto em tabela ? <table> <form name="form" method="post" enctype="multipart/form-data" action="enviar.php"> <?php $sql=mysql_query("SELECT * FROM tabela"); while ($mostra = mysql_fetch_assoc($sql)) { <input name="nome[]" type="text" value="<?php echo $mostra["nome"]; ?>"> <input name="id[]" type="hidden" value="<?php echo $mostra["id"]; ?>"> <? } ?> </form> </table> enviar.php $sql=mysql_query("UPDATE tabela SET nome='' WHERE id='' "); Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Maio 10, 2009 Usando foreach ;) foreach ($_POST['id'] AS $n=>$id) { if (isset($_POST['nome'][$n])) { mysql_query("UPDATE tabela SET nome='".$_POST['nome'][$n]."' WHERE id='".$id."'); } }Veja se funciona e tenteentender a lógica.. qualquer dúvida é só falar. Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Maio 10, 2009 Esta aparecendo o erro: Warning: Invalid argument supplied for foreach() in ... Compartilhar este post Link para o post Compartilhar em outros sites
By Pedro 0 Denunciar post Postado Maio 10, 2009 não conhecia esse foreach você poderia estar explicando um pouco sobre como utilizar? me interessei =] Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Maio 11, 2009 É como se ele destrinchasse a array que foi criada em nome[], para cada posição na id ele executa uma ação. Acho que isso, mas não funcionou direito aqui. Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Maio 11, 2009 http://br2.php.net/manual/pt_BR/control-st...res.foreach.php Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Maio 11, 2009 TiuTalk, O problema é que os campos nome[],endereco[],bairro[],id[] e nesta tabela de edição pode aparecer varios ids desodenados então se eu fizer isto, vai dar erro: foreach ($_POST['id'] AS $n=>$id) { if (isset($_POST['nome'][$n])) { mysql_query("UPDATE tabela SET nome='".$_POST['nome'][$n]."' WHERE id='".$id."'); } } O caminho seria mais ou menos assim, mas não está funcionando: foreach ($_POST as $n) { mysql_query("UPDATE tabela SET nome='".$_POST['nome'][$n]."',endereco='".$_POST['endereco'][$n]."' ,bairro='".$_POST['bairro'][$n]."' WHERE id='".$_POST['id'][$n]."'); } Compartilhar este post Link para o post Compartilhar em outros sites
nknk 3 Denunciar post Postado Maio 11, 2009 Existe outro meio sem ser por foreach e extract? Compartilhar este post Link para o post Compartilhar em outros sites