Leandromx 0 Denunciar post Postado Setembro 15, 2009 Olá pessoal, Seguinte... estou uma pequena dificuldade.. Eu listo dentro de um form os meus resultados <form> while(){ Responsável: <input type='text' name='resp[]' /> Data: <input type='text' name='data[]' /> Status: <input type='text' name='status[]' /> Atualizado <input type='hidden' name='update[]' /> } // fim do while <input type='submit' value='Atualiza' </form> Ai vem o que tenho que fazer. Ao listar esses dados, me mostrar as DATA E HORA ( campo datetime converto para mostrar a data do brasil ), que atualizei por último. Ai que está, vamos supor que eu mexo no campo 2 e 9, mudo só nome do campo 2 e status do campo 9, ou seja só posso atualizar essas duas linhas. Como posso fazer só para atualizar esses dois dados ao invés de atualizar tudo?? Eu estou usando for(){ mysql_query(UPDATE) } Ai eu pego os dados e atualizado Eu tinha pesado em ficar comparando dados antigos com dados novos.. mas achei muito trabalhoso... Alguém idéia de como fazer isso??? Probleme que esta acontecendo é que ele esta atualizando o campo update de todos e só posso alterar se eu mudar o NOME do responsável ou a data Compartilhar este post Link para o post Compartilhar em outros sites
SetaMB 1 Denunciar post Postado Setembro 16, 2009 Bom....para ter menos trabalho ao verificar se mudou, você pode fazer essa verificação utilizando um campo hidden no form. Mas como você não quer me altere o campo "Atualizado" é só você não coloca-lo na query. Ex.: $sql = "UPDATE tabela SET responsavel='$responsavel', data='$data', status='$status' WHERE id = $id"; mysql_query($sql); É isso que você quer??? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Setembro 16, 2009 Se eu entendi direito, a solução do SetaMB vai resolver, mas eu faria um pouco diferente... No teu while, eu colocaria assim... <form> while($row = ...){ Responsável: <input type="text" name="resp[<?php echo $row['id']?>]" /> Data: <input type='text' name='data[<?php echo $row['id']?>]' /> Status: <input type='text' name='status[<?php echo $row['id']?>]' /> Atualizado <input type='hidden' name='update[<?php echo $row['id']?>]' /> } // fim do while <input type='submit' value='Atualiza' </form> Daí, na página que recebe, você usa um foreach. foreach ($_POST['resp'] as $chave => $valor) { UPDATE ..... WHERE id = $chave... } Acho que deu pra entender mais ou menos a lógica. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Setembro 16, 2009 Cara estou tão bitolado nessa parada que ontem eu alterei umas 4 vezes o que eu escrevi... Eu acabei usando o campo hidden, mas curti a idéia do matias.. não tinha pesado. Vou utiliza-la... Problema resolvi.. Obrigados aos dois.. Compartilhar este post Link para o post Compartilhar em outros sites