swift 0 Denunciar post Postado Janeiro 28, 2010 Opa galera, gostaria d euma dica para editar um registro, estouo utiliazando o form abaixo: <?php $busca = $_POST['busca']; require('conecta.php'); $con1 = "SELECT * FROM usuarios WHERE nome LIKE '%$busca%'"; $con11 = mysql_query($con1); $con111 = mysql_num_rows($con11); if($con111>0) { for($i=0;$i<$con111;$i++) { $user = mysql_fetch_array($con11); ?> <form action="alterar.php" method="GET"> <span class="altera">NOME:........</span> <?php echo $user['nome']; ?> <br /> <span class="altera">SEXO:..........</span> <?php echo $user['sexo']; ?> <br /> <span class="altera">USUARIO:...</span> <?php echo $user['usuario'];?><br /> <span class="altera">SENHA:.......</span> <?php echo $user['senha'];?><br /> <input type="submit" name="alterar" value="alterar" /><br /><br /> </form> <?php if(isset($_GET['alterar'])) { echo $user['nome']; } }// Fecha if }//Fecha for ?> Eu gostaria que ao clicar no botao Alterar eu alterasse o registro do usuário do indíce que o FOR esta, e nao do último registro que é como acontece, como faço isso da maneira mais enxuta? com Javascript? pensei em por um button no form e um if fazendo um INSERT se o button estiver setado,mas não sei se essa seria a melhor maneira. enfim, aguardo sugestões! Compartilhar este post Link para o post Compartilhar em outros sites
Claudeci Goularte 0 Denunciar post Postado Janeiro 28, 2010 O que você seria que ao mostrar po exemplo 10 registro...e desejasse alterar somente o registro nº 5 ? Certo? E não qualquer outro? Compartilhar este post Link para o post Compartilhar em outros sites
swift 0 Denunciar post Postado Janeiro 28, 2010 Exatamente isso cara! Compartilhar este post Link para o post Compartilhar em outros sites
Claudeci Goularte 0 Denunciar post Postado Janeiro 28, 2010 Exatamente isso cara! Na tabela tem algum id do usuário? Compartilhar este post Link para o post Compartilhar em outros sites
swift 0 Denunciar post Postado Janeiro 28, 2010 tem sim Compartilhar este post Link para o post Compartilhar em outros sites
Claudeci Goularte 0 Denunciar post Postado Janeiro 28, 2010 tem sim Então teste este script: <?php $busca = $_POST['busca']; require('conecta.php'); $con1 = "SELECT * FROM usuarios WHERE nome LIKE '%$busca%'"; $con11 = mysql_query($con1); $con111 = mysql_num_rows($con11); if($con111>0){ for($i=0;$i<$con111;$i++){ $user = mysql_fetch_array($con11); ?> <form action="alterar.php" method="POST"> <!--CAMPO ACRESCENTADO--> <input type="hidden" name="id_user" value="<?=$user['id_tebela']?>"> <!--CAMPO ACRESCENTADO--> <span class="altera">NOME:........</span><input type="text" name="nome" value="<?=$user['nome']?>"> <br /> <span class="altera">SEXO:..........</span><input type="text" name="sexo" value="<?=$user['sexo']?>"> <br /> <span class="altera">USUARIO:...</span><input type="text" name="usuario" value="<?=$user['usuario']?>"><br /> <span class="altera">SENHA:.......</span><input type="text" name="senha" value="<?=$user['senha']?>"><br /> <input type="submit" name="alterar" value="alterar" /><br /><br /> </form> <?php if(isset($_GET['alterar'])){ echo $user['nome']; } }// Fecha for }//Fecha if ?> Agora...no arquivo alterar.php tente <?php if(isset($_POST['id_user'])){ mysql_query("update usuarios Set `nome`='".$_POST['nome']."',`sexo`='".$_POST['sexo']."',`usuario`='".$_POST['usuario']."',`senha`='".$_POST['senha']."' Where id_user='".$_POST['id_user']."'")or die('erro'); } ?> Testa ai..qualquer coisa posta. Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Janeiro 28, 2010 Só uma coisa: <form action="alterar.php" method="POST"> Esta linha está dentro do FOR. Abra o formulário antes do FOR. Compartilhar este post Link para o post Compartilhar em outros sites
Claudeci Goularte 0 Denunciar post Postado Janeiro 28, 2010 Se ele quiser exibir somente um form. Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Janeiro 28, 2010 Sim. Para que muitos ? Compartilhar este post Link para o post Compartilhar em outros sites
Claudeci Goularte 0 Denunciar post Postado Janeiro 28, 2010 Sem preferencia. Eu prefiro utilizar somente um tbm. Mas não quiz alterar a base do código dele. Só isso mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
swift 0 Denunciar post Postado Janeiro 28, 2010 então cara a miha intenção é por o UPDATE neste mesmo documento, ali aonde se econtra o if(isset($_GET['alterar'])) { echo $user['nome']; } eu quero que quando setado la, eu insira aqui, por isso o teste do echo, para ver em qual indice ele da o echo, ainda nao funcionou com o hidden, como nao conheço muito de javascript acredito que deve haver uma maneira de fazer isso por javascript antes de chegar no php, só q nao sei. Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Janeiro 28, 2010 <?php if($_GET['acao'] == "alterar") { // aqui você faz um select de novo, colocando como condição o ID que você ta pegando como parametro no Link, ou seja $sql "Select * from tabela where id = $_GET[id]"; } ?> <?php $busca = $_POST['busca']; require('conecta.php'); $con1 = "SELECT * FROM usuarios WHERE nome LIKE '%$busca%'"; $con11 = mysql_query($con1); $con111 = mysql_num_rows($con11); if($con111 > 0) { echo '<form action="" method="POST">'; for($i=0;$i<$con111;$i++) { $user = mysql_fetch_array($con11); ?> <span class="altera">NOME:........</span> <input type="text" name="nome" value="<?=$user['nome']?>"><a href="?acao=alterar&id=<?=$user['id']?>"> Alterar </a> <br /> <span class="altera">SEXO:..........</span> <input type="text" name="sexo" value="<?=$user['sexo']?>"><a href="?acao=alterar"<?=$user['id']?>> Alterar </a> <br /> <span class="altera">USUARIO:...</span> <input type="text" name="usuario" value="<?=$user['usuario']?>"><a href="?acao=alterar"<?=$user['id']?>> Alterar </a><br /> <span class="altera">SENHA:.......</span> <input type="text" name="senha" value="<?=$user['senha']?>"><a href="?acao=alterar"<?=$user['id']?>> Alterar </a><br /> } <?php echo '</form>'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
swift 0 Denunciar post Postado Janeiro 28, 2010 Eu qeuro exibir todos usuarios cadastrados om um botao no fim de cada cadastro, para que seja possível alterar aquele determinado cadastro, por isso o FORM dentro do FOR Compartilhar este post Link para o post Compartilhar em outros sites
Claudeci Goularte 0 Denunciar post Postado Janeiro 28, 2010 então cara a miha intenção é por o UPDATE neste mesmo documento, ali aonde se econtra o if(isset($_GET['alterar'])) { echo $user['nome']; } eu quero que quando setado la, eu insira aqui, por isso o teste do echo, para ver em qual indice ele da o echo, ainda nao funcionou com o hidden, como nao conheço muito de javascript acredito que deve haver uma maneira de fazer isso por javascript antes de chegar no php, só q nao sei. Eu me complique entao no entendimento do que você deseja. Por favor, exclareça-me uma coisa. Você deseja exibir os dados primeiro, despois de exibidos, quer uma opção para alterar os registros mostrado? Compartilhar este post Link para o post Compartilhar em outros sites
swift 0 Denunciar post Postado Janeiro 28, 2010 Isso, depois de exibidos vou implementar um botao que traga os dados dentro dos textbox do form de cadastro e insira o que for digitado no form naquele indice. Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Janeiro 28, 2010 Mas era isso que você queria ? Deu certo ? Senão, poste. Compartilhar este post Link para o post Compartilhar em outros sites
swift 0 Denunciar post Postado Janeiro 29, 2010 Bom Dee,ainda não... vamo lá, dei uma mudada acho que vai ficar melhor explicado agora. Esse vai listar os usuarios, com o Submit na frente de cada cadastro <?php $busca = $_POST['busca']; require('conecta.php'); $con1 = "SELECT * FROM usuarios WHERE nome LIKE '%$busca%'"; $con11 = mysql_query($con1); $con111 = mysql_num_rows($con11); if($con111>0) { echo'<form action="editar.php" method="GET">'; for($i=0;$i<$con111;$i++) { $user = mysql_fetch_array($con11); ?> ID -> <?php echo $user['id'];?><br /><br /> <span class="altera">NOME:........</span> <?php echo $user['nome']; ?> <br /> <span class="altera">SEXO:..........</span> <?php echo $user['sexo']; ?> <br /> <span class="altera">USUARIO:...</span> <?php echo $user['usuario'];?><br /> <span class="altera">SENHA:.......</span> <?php echo $user['senha'];?><br /> <br/> <input type="submit" name="editar" value="editar" /> <br /><br /> </form> <?php }// Fecha if }//Fecha for else echo"Nenhum Usuário Encontrado!<br />"; ?> clicando no submit ele envia para este form que traz os valores dentro do form e realiza o UPDATE <?php $nome = $_GET['nome']; // Já tentei pegar pelo array $user tbm... neste caso teria $sexo = $_GET['sexo']; $usuario = $_GET['usuario']; $senha = $_GET['senha']; $id = $_GET['id']; require('conecta.php'); ?> <form action="editar.php" method="GET"> Nome<br /> <input type="text" name="nome"size ="50" value="<?php echo $nome;?>"/><br /> Sexo<br /> <select name ="sexo"> <option value="F">Feminino </option> <option value="M">Masculino </option> </select><br /> Usuário<br /> <input type="text" name="usuario" value="<?php echo $user['usuario']; ?>"/><br /> Senha<br /> <input type="text" name="senha" value="<?php echo $user['senha']; ?>"/><br /><br /> <input type="button" name="confirmar" value="confirmar" /> </form> <?php if(isset($_GET['confirmar'])) { echo "setado"; $con2 ="UPDATE usuarios SET nome='$nome' sexo='$sexo' usuario='$usuario' senha='$senha WHERE id= '$id'"; $con22 = mysql_query($con2); $con222 = mysql_affected_rows(); if($con222 > 0) echo"Cadastro Efetuado com Sucesso!"; else echo"Cadastro nao efetuado"; } ?> O que não consigo é trazer os valores para o form do editar.php, entendeu? tentei já trazer do array para uma variável ($var = $user['var']) antes de passar para este form, mas da na mesma acho que agora consegui explica melhor, e acho que só será possível com uma variável de sessão, ou não? Obrigado a Todos! Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 29, 2010 Utilize campos hidden, formulários só funcionam se você usar tags de formulário! input, select.. <span class="altera">NOME:........</span> <input type="hidden" name="nome" value="<?php echo $user['nome']; ?>" /><?php echo $user['nome']; ?> <br /> <span class="altera">SEXO:..........</span> <input type="hidden" name="sexo" value="<?php echo $user['sexo']; ?>" /><?php echo $user['sexo']; ?> <br /> <span class="altera">USUARIO:...</span> <input type="hidden" name="usuario" value="<?php echo $user['usuario']; ?>" /><?php echo $user['usuario'];?><br /> <span class="altera">SENHA:.......</span> <input type="hidden" name="senha" value="<?php echo $user['senha']; ?>" /><?php echo $user['senha'];?><br />isso já lhe foi sugerido alguns posts atrás.. Compartilhar este post Link para o post Compartilhar em outros sites
swift 0 Denunciar post Postado Janeiro 29, 2010 beleza cara era isso mesmo, no Post do amigo Claudeci não havia compreendido. mas tudo certo agora! Obrigado a todos! Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Janeiro 29, 2010 Que bom que conseguiu. Compartilhar este post Link para o post Compartilhar em outros sites