Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

PHP E MYSQL - parte 8

Neste artigo faremos o formulário para editar a noticia.

FORMULARIO PARA EDITAR A NOTÍCIA !

 

Neste artigo criaremos o formulário para editar as noticias.

 

A tarefa do formulário de edição é inicialmente carregar os dados do registro que se deseja alterar e preencher no formulário estes dados, para que o usuário apenas modifique o que achar necessário e salve novamente, caracterizando a edição. Segue o código do arquivo frmeditar.php:

__________________________________________________________________________

<?php

 $conexao = mysql_connect("localhost", "root", "");

 $banco = mysql_select_db("noticias");

 

 $codigo = $_GET["codigo"];

 

 $sql = "SELECT *, date_format(datahora,'%d/%m/%Y %H:%i') as data FROM noticias WHERE codigo = $codigo";

 $dados = mysql_query($sql);

 $noticia = mysql_fetch_array($dados);

?>

<html>

<head>

<title>Editar noticia</title>

<script language="JavaScript">

function validar()

{

 if (document.editar.titulo.value == "")

 {

  alert('Titulo nao esta preenchido');

  document.editar.titulo.focus();

  return false;

 }

 if (document.editar.conteudo.value == "")

 {

  alert('Texto nao esta preenchido');

  document.editar.conteudo.focus();

  return false;

 }

 return true;

}

</script>

</head>

 

<body>

<h2>Editar notícia</h2>

<form name="editar" method="POST" action="editar.php" onsubmit="return validar()">

Titulo: <input type="text" name="titulo" maxlenght="100" value="<?php echo $noticia["titulo"]; ?>">

<br>

Data: <input type="text" name="data" maxlength="10" value="<?php echo $noticia["data"]; ?>">

<br>

Conteudo: <br>

<textarea name="conteudo" rows="5" cols="50"><?php echo $noticia["conteudo"]; ?></textarea>

<br>

<input type="submit" value="Enviar">

<input type="hidden" name="codigo" value="<?php echo $noticia["codigo"];?>">

</form>

</body>

</html>

__________________________________________________________________________


ANALISANDO O CÓDIGO

 

O arquivo frmeditar.php é chamado pelo link que esta na listagem das noticias na página index.php. Toda vez que você clicar neste link o mesmo direciona para a pagina frmeditar passando como parâmetro pela url o código da noticia que você clicou.

 

Link na pagina índex.php :

 

<td><a href="frmeditar.php?codigo=<?php echo $dados["codigo"];?>">Editar</a></td>

 

Feito isso a pagina frmeditar para qual estamos direcionando o link deve extrair da url o código da noticia.

 

$codigo = $_GET["codigo"]; //FUNCAO GET DO PHP


Logo devemos consultar no banco de dados qual noticia clicamos de acordo com o código extraído.


$sql = "SELECT *, date_format(datahora,'%d/%m/%Y %H:%i') as data FROM noticias WHERE codigo = $codigo";

$dados = mysql_query($sql);

$noticia = mysql_fetch_array($dados);//como retorna apenas um registro nao é necessário a utilização do while.

 

Através do echo podemos imprimir os valores na propriedade value dos campos no formulário. A variável $noticia possui o retorno da consulta ao banco o registro da noticia que clicamos para editar.


EXEMPLO:

_________________________________________________________________

Titulo: <input type="text" name="titulo" maxlenght="100" value="<?php echo $noticia["titulo"]; ?>">

_________________________________________________________________


Depois que todos os campos exibiram seus devidos valores você pode editar. Ate agora ainda não estamos fazendo o UPDATE ou seja a atualização do que você editar nos campos, isso vai ser feito em outro arquivo chamado editar.php que é o action do form editar.

Perceba que ao final do formulário temos um campo hidden.

______________________________________________________

<input type="hidden" name="codigo" value="<?php echo $noticia["codigo"];?>">

___________________________________________________________________


O campo hidden não aparece para o usuário já que este campo não deve ser alterado. Mas quando enviar os dados para o action do form o valor value="<?php echo $noticia["codigo"];?>  também ira por POST.


Isto acontece pois na edição de um registro precisamos sempre informar o código a ser alterado (chave primária) pois senão a atualização acontece para TODOS os registros. Logo se diz que a cláusula WHERE é de suma importância na atualização.


Na próximo artigo faremos o editar.php no qual ira atualizar a noticia no banco de dados através do UPDATE.


Ate mais !! Luzia




    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Autor
Luzia Bolsi

Cursando a faculdade de Bacharel em Sistemas da Informação pela UNISINOS/RS, tecnica em tecnologia da informação. Programadora php e webdesigner. Site: www.decasoft.com.br


Space do autor
Estatísticas #
Favorito:
Comentários:
Feedback:
Utilidade:
1   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia).


  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03