Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom, continuando a saga do meu "sistema de notícias", tive que implementar algo a mais nele, ou pelo menos tentei.
Bom, no tópico anterior eu pedi ajuda para ajeitar a lógica sobre como excluir registros do banco de dados de forma seletiva.
Foi ai que os amigos Beraldo, Skyo, Renato Duarte e Quelipe (este em um outro tópico) tiveram a graça de me ajudar. Mais uma vez, obrigado!
Agora, quero ajuda na lógica da edição de um registro, no caso de uma notícia.
O que eu já fiz até agora foi: coloquei o link para o formulário de edição, fiz o formulario de edição e o mais importante, implantei o script responsável por dar o UPDATE no banco de dados.
O que eu não consegui: fazer a id ser preservada, ou seja, no meu código, a notícia alterada é sempre aquela que tiver o menor id (sendo ele um numero inteiro, automatico e não repetitivo), independentemente da notícia que eu sugiro para a edição.
Confiram os códigos!
1 - Link responsável por abrir o formulário de edição:
"<a href=\"editar.php?acao=editar_noticia&id=$id\" onclick=\"return confirm('Você confirma a edição da notícia?')\">EDITAR</a>"
Obs: acho que só assim, a id deveria ser passada ao longo do sistema por meio do $_GET, já que ela é preservada na URL.
2 - Página responsável pela inserção das novas informações (editar.php):
<?php
if (isset ($_GET['acao'])) //se existir acao na url
{
$acao = $_GET['acao']; //cria a variável com o nome de 'acao' com o valor dela
if ($acao == "editar_noticia") // testa se 'acao' é igual a excluir. Se for, é porque o usuário clicou em 'excluir'
{
include ('conexao.php'); // conecta ao MySQL
}
}
?>
<form action="operacao.php">
<input type="hidden" name="operacao" value="editar" />
Título: <input type="text" name="titulo" size="60" /> <br /> <br />
Notícia: <textarea name="noticia"></textarea> <br /> <br />
Fonte: <input type="text" name="fonte" size="40" /> <br /> <br />
URL da imagem: <input type="text" name="imagem" size="40" /> <br /> <br />
<input type="submit" name="enviar" value="enviar" />
</form>
3 - Script responsável pela ação de alterar (operacao.php):
<?php
$operacao = $_GET["operacao"];
include "conexao.php";
if ($operacao=="editar") {
$contador = "0";
$titulo = $_GET["titulo"];
$noticia = $_GET["noticia"];
$fonte = $_GET["fonte"];
$imagem = $_GET["imagem"];
$exibir_id = mysql_query("SELECT id FROM noticia");
$id = mysql_result($exibir_id, $contador, "id");
$alterar_sql = "UPDATE noticia SET titulo='$titulo', noticia='$noticia', fonte='$fonte', id='$id', imagem='$imagem' WHERE id='$id'";
$sql_acao = mysql_query($alterar_sql);
echo "Notícia editada com sucesso!";
mysql_close($conexao);
}
?>
Bom, se alguém puder ajudar, fico grato!Carregando comentários...