Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, estou aprendendo PHP desenvolvendo um sistema em php, só que me surgiu uma dúvida, tenho uma página controlar.php que lista todas as notícias cadastradas no banco de dados:
<?php
$conexao = mysql_connect("localhost","meuusuario","minhasenha");
$db = mysql_select_db("news");
$sql = "SELECT * FROM noticias ORDER BY id DESC";
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");
echo "<table width=740 border=1 cellpadding=1 cellspacing=1>";
echo "<tr>";
echo "<th width=15>ID:</th>";
echo "<th width=100>Nome:</th>";
echo "<th width=100>Sobrenome:</th>";
echo "<th width=100>Cidade:</th>";
echo "<th width=15>UF:</th>";
echo "<th width=100>Email:</th>";
echo "<th width=30>Data:</th>";
echo "<th width=30>Hora:</th>";
echo "<th width=100>Título:</th>";
echo "<th width=50>Disponível?</th>";
echo "<th width=50>Alterar</th>";
echo "<th width=50>Excluir</th>";
echo "<th width=50>Liberar / bloquear</th>";
echo "</tr>";
while ($linha=mysql_fetch_array($resultado)) {
$id = $linha["id"];
$nome = $linha["nome"];
$sobrenome = $linha["sobrenome"];
$cidade = $linha["cidade"];
$estado = $linha["estado"];
$email = $linha["email"];
$data = $linha["data"];
$hora = $linha["hora"];
$titulo = $linha["titulo"];
$ver = $linha["ver"];
$novadata = substr($data,8,2) . "/" .substr($data,5,2) . "/" . substr($data,0,4);
$novahora = substr($hora,0,2) . "h" .substr($hora,3,2) . "min";
echo "<tr>";
echo "<th width=15>$id<br></th>";
echo "<th width=100>$nome<br></th>";
echo "<th width=100>$sobrenome<br></th>";
echo "<th width=100>$cidade<br></th>";
echo "<th width=15>$estado<br></th>";
echo "<th width=100>$email<br></th>";
echo "<th width=30>$novadata<br></th>";
echo "<th width=30>$novahora<br></th>";
echo "<th width=100>$titulo<br></th>";
echo "<th width=50>$ver<br></th>";
echo "<th width=50><a href='altera.php?id=$id'>Alterar</a><br></th>";
echo "<th width=50><a href='deleta.php?id=$id'>Excluir</a><br></th>";
echo "</tr>";
echo "<br>";
}
echo "</table>";
?>
vejam que já até criei uma coluna para inserir as funções de bloquear ou liber a notícia, isso será feito alterando o valor do campo "ver" do meu bd Mysql, que por padrão é 0 (bloqueado) e o index.php não listará, quero colocar nessa página controlar.php um link para liberar as notícias ou bloquear como posso fazer isso??
e como posso fazer isso???
começa pelo basica.... crie uma listagem de noticias...
select * from noticias
depois monta o html.
ai monta a coluna que vai ter o comobo do status.
crie o arquivo, alterar_status_noticia, q vai fazer o update somente do status da noticia (liberada/bloquead)
adicionei dois links
<a href='status_noticia.php?id=$id&ver=1'>liberar</a>
<a href='status_noticia.php?id=$id&ver=0'>bloquear</a>
pq na página que irá listar a notícia somente irá exibir as notícias que tiver o valor 1 na coluna "ver".
a página status_noticia.php ficou assim:
<?php require('noticiasbd.php'); //meu arquivo de conexão com banco de dados ?>
<?php
$sql = "UPDATE $tabela SET id='$id', ver='$ver' WHERE id='$id'";
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");
echo "<h1>Notícia alterada com sucesso!</h1>";
?>
e assim está funcionando, obrigado pela atenção de todos
$sql = "UPDATE $tabela SET id='$id', ver='$ver' WHERE id='$id'";
tire id = '$id', você n precisa atualizar o id....
alterei, muito obrigado
você criar uma listagem das noticias, e uma coluna é um combo que permite publicar/bloquear a noticia. no change desse combo você pode usar uma ajax para altera o status da noticia.