Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera, estou desenvolvendo um sistema de notícias em php como forma de exercício para aprender alguns conceitos. A parte de inserção, alteração e de deletar mensagens está funcionando perfeitamente, mas resolvi que quero também colocar um select/menu-list com as categorias que serão usadas.
Consegui chegar até o momento em que insiro uma notícia com: titulo, autor, categoria, data, hora e texto. Tudo é exbido corretamente!
Mas agora na parte de atualização, eu preciso recuperar os dados de uma notícia já inserida e colocá-las em seus devidos campos para alterar e salvar de novo. O que acontece é que eu não consigo recuperar o select e ao mesmo tempo exibir as outras categorias, podendo troca-la. Então peço o conselho de vocês para que possam me ajudar.
atualiza.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="include/nicedit/nicEdit.js" type="text/javascript"></script>
<script type="text/javascript">bkLib.onDomLoaded(nicEditors.allTextAreas);</script>
<title>Atualiza Clientes</title>
<link rel="stylesheet" type="text/css" href="css/estilo.css" />
</head>
<body>
<div id="corpo">
<?php
include "include/topo.php";
include "include/menu.php";
?>
<h2>Atualiza Conteúdo</h2>
<?php
if ($_GET["msg"] == "sucesso") {
echo "<h3>* Atualização realizada com sucesso</h3>";
}
else if ($_GET["msg"] == "erro") {
echo "<h3>* Erro ao atualizar seu registro</h3>";
}
?>
<form id="form" action="valida.php?acao=atualiza" method="post">
<?php
//Conecto ao banco
include "include/conexao.php";
//Monto a query
$sql = "SELECT a.titulo, a.autor, a.conteudo, DATE_FORMAT(data, '%d/%m/%Y') AS data, a.hora, b.idcategoria, b.nome_categoria FROM conteudo a, categoria b WHERE a.categoria=b.idcategoria";
//Executo a query
$query = mysql_query($sql);
//Converto o resource para um array, e percorro esse array
while($dados = mysql_fetch_assoc($query)) {
$id = $dados["idconteudo"];
$tit = $dados["titulo"];
$aut = $dados["autor"];
$cont = $dados["conteudo"];
$dat = $dados["data"];
$hor = $dados["hora"];
$idcat = $dados["idcategoria"];
$cat = $dados["nome_categoria"];
}
?>
<label for="titulo">Título: <input type="text" name="titulo" value="<?php echo $tit; ?>" /></label>
<label for="titulo">Autor: <input type="text" name="autor" value="<?php echo $aut; ?>" /></label>
<label for="titulo">Categoria: <br>
<?php
$sql = "SELECT idcategoria, nome_categoria FROM categoria";?>
<select name="categorias">
<option value="">SELECIONE</option>
<?php$idcat = $dados["idcategoria"];
$cat = $dados["nome_categoria"];
echo '<option value="'.$idcat.'"> '.$cat.' </option>';
}
?>
</select>
<label for="conteudo">Conteúdo: <textarea name="conteudo"><?php echo $cont; ?></textarea></label>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<button type="submit">ALTERAR</button>
</form>
</div>
</body>
</html><?php
include "include/conexao.php";
$data = date('Y-m-d');
$hora = strftime("%H:%M:%S");
if ($_GET['acao'] && $_GET['acao'] == 'insere') {
//Monto minha query de inserção de dados - fizemos isso no primeiro tutorial
$sql = "INSERT INTO conteudo(titulo, autor, conteudo, data, hora, categoria) VALUES('".$_POST["titulo"]."', '".$_POST["autor"]."', '".$_POST["conteudo"]."', '$data', '$hora','".$_POST["categorias"]."')";
//Executo a minha query
$query = mysql_query($sql);
//Verifico se o registro foi inserido com sucesso
if ($query == true) {
header("Location: insere.php?msg=sucesso");
}else{
header("Location: insere.php?msg=erro");
}
}
else if($_GET["acao"] == "deleta") {
//Monto minha query de exclusão de dados
$sql = "DELETE FROM conteudo WHERE idconteudo = ".$_GET["id"];
//Executo a minha query
$query = mysql_query($sql);
//Verifico se o registro foi excluído com sucesso
if ($query == true) {
header("Location: lista.php?msg=sucesso");
}
else {
header("Location: lista.php?msg=erro");
}
}
else if($_GET["acao"] == "atualiza") {
//Monto minha query de exclusão de dados
$sql = "UPDATE conteudo SET titulo = '".$_POST["titulo"]."', autor = '".$_POST["autor"]."', conteudo = '".$_POST["conteudo"]."' WHERE idconteudo = ".$_POST["id"];
//Executo a minha query
$query = mysql_query($sql);
//Verifico se o registro foi excluído com sucesso
if ($query == true) {
header("Location: atualiza.php?msg=sucesso&id=".$_POST["id"]);
}
else {
header("Location: atualiza.php?msg=erro&id=".$_POST["id"]);
}
}
if ($_GET["acao"] == "inserecat") {
//Monto minha query de inserção de dados - fizemos isso no primeiro tutorial
$sql = "INSERT INTO categoria(nome_categoria) VALUES('".$_POST["categoria"]."')";
//Executo a minha query
$query = mysql_query($sql);
//Verifico se o registro foi inserido com sucesso
if ($query == true) {
header("Location: insere.php?msg=sucesso");
}
else {
header("Location: insere.php?msg=erro");
}
}
?>Carregando comentários...