Ir para conteúdo

POWERED BY:

Arquivado

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

rodrigofariat

[Resolvido] Editando dados no PHP

Recommended Posts

Pessoal,

 

Tenho um formulário para cadastrar dados dos clientes.

Um outro formulário para alterar dados dos clientes.

Na alteração, existe um elemento input para buscar pelo nome do cliente. Isto funciona, e os dados ficam disponíveis.

 

Entretanto gostaria que a alteração fosse direta, ou seja sem precisar buscar pelo nome do cliente.

O Orkut funciona dessa forma, voce clica em editar e todos os dados aparecem para ser modificados.

 

Como alterar o script para a edição ser feita de forma direta (sem precisar localizar campo do cliente) ?

 

Att,

 

Rodrigo Faria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico Movido para o fórum principal.

 

Atenção:

Este subfórum é destinado apenas para postagem de artigos, tutoriais e matérias sobre PHP.

Não é permitido a abertura de tópicos com dúvidas. Para isso, use o Fórum de PHP.

 

Se entendi, na hora da listagem você pode fazer um link de editar, passando o parâmetro pela URL do id do cliente.

E então, o script lê esse ?id=15 e monta a listagem dos dados do cliente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o que o Willian falou e pra recurepar os dados você faz isso:

<?php

    $id = $_GET["id"];
    $q=mysql_query("SELECT * FROM TABELA WHERE CODID = $id");
    $variavel=mysql_fetch_assoc($q);
   
   
?>

 <label>Nome:</label><input type="text" name="NOME" id="NOME" size="70" value="<?php echo $variavel['NOME']; ?>" />
ta mastigado ai pra você agora...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui adaptar os trechos no meu código.

Estou enviando meu codigo.

 

Att,

 

Rodrigo Faria

 

<?php

//pega o codigo do cliente para pesquisa
$codigo = $_POST["codigo"];

$conexao = mysql_connect("localhost","root","password");
$db = mysql_select_db("bancodados");
$sql = "SELECT * FROM cadastro WHERE codigo='$codigo'";
$result= mysql_query($sql) or die ("Erro ao consultar ao banco de dados");

while ($linha=mysql_fetch_array($result)) 
{
  $codigo = $linha["codigo"];
  $nome = $linha["nome"];
  $endereco = $linha["endereco"];
  $contato = $linha["contato"];
  $telefone = $linha["telefone"];
  
  echo "<h1>Alterar Cadastro...</h1>";
  echo "<hr><br>";
  echo "<form action='altera.php?id=$codigo' method='post'>";
  echo "Codigo: <input name='codigo_novo' type='text' value='$codigo' size=20><br>";
  echo "Nome:<input name='nome_novo' type='text' value='$nome' size=30> *<br>";
  echo "Endereco:<input name='endereco_novo' type='text' value='$endereco' size=30> *<br>";
  echo "Contato:<input name='contato_novo' type='text' value='$contato' size=30> *<br>";
  echo "Telefone:<input name='telefone_novo' type='text' value='$telefone' size=30> *<br>";
  echo "<input type='submit' value='Alterar'>";
  echo "</form>";
  echo "<br><hr>";
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, você vai ter que ter o link editar né? ... a lógica é mais ou menos assim:

 

Daí neste link a url vai ser mais ou menos assim:

 

<a href="alterarUsuario.php?cod=<?php echo $codigo; ?>">editar</a>

Você sabe fazer isso?

 

Bom, daí quando clicar ele vai para essa página informando o código pelo parâmetro "cod".

 

para pegar esse parametro você sabe né:

 

$codigo = $_GET['cod'];

 

Dai tu usa essa variavel para buscar pelo código no banco de dados como você está fazendo atualmente... daí tu tira o input do código é claro né...

 

Entendeu?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

Para excluir registros, eu uso um combobox para listar todos os clientes.

Aproveitando disto, adaptei para que pudesse modificar dados.

Vejam o seguinte codigo:

 

<?php
#Recebo as variaveis do banco de dados
$codigo = $_POST["codigo"];
$nome = $_POST["nome"];
$endereco = $_POST["endereco"];
$contato = $_POST["contato"];
$telefone = $_POST["telefone"];

#Faço a conexao com o banco, selecionado o campo nome
$conexao = mysql_connect("localhost","root","teste");
$db = mysql_select_db("banco");
$sql = "SELECT * FROM cadastrobanco WHERE nome='$nome'";
$resultado = mysql_query($sql) or die ("Erro ao consultar banco de dados");

#Passa para o arquivo update.php, as variáveis com terminação novo.
while ($linha=mysql_fetch_array($resultado)) 
{
  $codigo = $linha["codigo"];
  $nome = $linha["nome"];
  $endereco = $linha["endereco"];
  $contato = $linha["contato"];
  $telefone = $linha["telefone"];

  echo '<div id="login">';
  echo '<fieldset>';
  echo '<legend>Alterar:</legend>';
  echo "<br>";
  echo "<form action='update_db.php?nome=$nome' method='post'>";
  #echo "Codigo:   <input name='codigo_novo' type='text' value='$codigo' size=2><br>";
  echo "Nome:     <input name='nome_novo' type='text' value='$nome' size=30> <br>";
  echo "Endereco: <input name='endereco_novo' type='text' value='$endereco' size=30> <br>";
  echo "Contato:  <input name='contato_novo' type='text' value='$contato' size=30> <br>";
  echo "Telefone: <input name='telefone_novo' type='text' value='$telefone' size=30> <br>";
  echo "<input type='submit' value='Alterar'>";
  echo '</fieldset><br>';
  echo "</form>";
  echo '</div>';
  echo "<br>";
}
  
?>

Reparem que eu coloquei o ID como o campo nome, e não com o campo codigo.

Vejam que eu comentei a linha de "echo Codigo", isso foi de proposito, pois nas alterações de dados

nao preciso mudar o codigo do cliente. Lembre-se que no update.php (arquivo que atualiza no BD) deve ter

a clausula final WHERE com o nome e nao o codigo.

 

$sql = "UPDATE banco SET nome='$nome_novo',endereco='$endereco_novo' WHERE nome='$nome_novo'";

 

O codigo abaixo faz parte do arquivo do combox, selecionado o nome.

 

    echo "<form action='{$_SERVER['PHP_SELF']}' method='post'>";
    echo '<select name="nome" class="select">';

Dessa forma consegui alterar todos os dados de uma tabela.

 

Att,

 

Rodrigo Faria

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.