Ir para conteúdo

POWERED BY:

Arquivado

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

nknk

Atualizando form em tabela

Recommended Posts

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

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

Esta aparecendo o erro:

 

Warning: Invalid argument supplied for foreach() in ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É 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,

 

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

×

Informação importante

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