Ir para conteúdo

POWERED BY:

Arquivado

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

Pedro Lima

Sistema de notícias, Consultar, Incluir, Editar e Excluir

Recommended Posts

//Consulta

<?php
$seleciona = mysql_query("SELECT * FROM tb_noticias ");
if ($seleciona == ''){
	echo 'erro';
}else{
	while ($res_id = mysql_fetch_array($seleciona)){
		$id=$res_id['id'];
		$titulo=$res_id['titulo'];
		$noticia=$res_id['noticia'];
		$autor=$res_id['autor'];
		$hornot=$res_id['hornot'];
		$datnot=$res_id['hornot'];
		?>
<article>
		<section class='body'>
			<h1>ID:<?php echo $id;?> - <?php echo $titulo;?></h1>
			<h2><?php echo $noticia;?></h2>
			<h3>Feita por <?php echo $autor;?> no dia <?php echo $datnot;?> ás <?php echo $hornot;?></h3>
			<div class='autor'> </div>
			<div id='funcao'><a href="funcaoeditar.php?id=<?php echo $id;?>"<?php echo $datnot;?>>EDITAR</a> | <a href="funcaoexcluir.php?id=<?php echo $id;?>"<?php echo $datnot;?>>APAGAR</a></div>
		</section>
	</article>
<?php
}
}
?>




//Exclusão

<?php
	  $id =$_GET['id'];
	  $deleta = mysql_query ("DELETE FROM tb_noticias WHERE id = '$id'");
	  if ($deleta ==''){
		  echo 'erro ao deletar';
	  }else{
			
			echo "Notícia excluída com sucesso!";}
?>



//Inclusão

<?php
$titulo = utf8_decode( $_POST['titulo'] );
$noticia = utf8_decode( $_POST['noticia'] );
$autor = utf8_decode( $_POST['autor'] );
$datnot = utf8_decode( $_POST['datnot'] );
$hornot = utf8_decode( $_POST['hornot'] );
$sql = "INSERT INTO tb_noticias (titulo, noticia , autor , datnot, hornot) VALUES ('$titulo', '$noticia ', '$autor' , '$datnot ', '$hornot')";
$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!");
echo "Notícia inserida com sucesso!"};
?>

//Edição ou Alteração

é o que me falta kkk

 

Bom, eu estou fazendo um sistema de notícias, mas estou com alguns problemas, sou novo na programação php e gostaria que me ajudassem por favor.

 

Eu fiz uma página que lista todas as notícias registradas, e nela eu queria apenas clicar em um botão que me levasse na página de edição ou exclusão da mensagem.

 

Me falta apenas a parte de Editar, já tenho a consulta, inclusão e exclusão funcionando perfeitamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que você tem a página de inclusão, você pode usar ela mesma para a edição, passando o ID da noticia por GET (.php?id=ID_DA_NOTICIA).

Você verifica se foi passado o ID, se sim você carrega todos os campos para o formulario, se não, apenas exibe o formulario em branco.

 

E no action do form você pode colocar no fim: incluir.php?id=ID_DA_NOTICIA

 

Esta em negrito pois você não passaria essa parte caso seja uma inclusão e não uma edição.

 

Ficou meio confuso? Rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que você tem a página de inclusão, você pode usar ela mesma para a edição, passando o ID da noticia por GET (.php?id=ID_DA_NOTICIA).

Você verifica se foi passado o ID, se sim você carrega todos os campos para o formulario, se não, apenas exibe o formulario em branco.

 

E no action do form você pode colocar no fim: incluir.php?id=ID_DA_NOTICIA

 

Esta em negrito pois você não passaria essa parte caso seja uma inclusão e não uma edição.

 

Ficou meio confuso? Rs

Na verdade fiquei bem confuso HUEAHUEAHEAUAEHUAE, eu não tenho muita experiência com php ainda, entendi a ideia que quis me passar, mas ainda sim não sei como fazer kkk D:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize seu form de inclusão na página de edição, pegue o ID da notícia por $_GET['id'] que é o que está escrito no link de edição, certo? Então faça uma busca no banco de acordo com seu $_GET['id'] e então repasse os valores para cada campo do seu form de edição. Simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vai fazer assim jovem:

 

 

<?php if (isset($_GET['id'])) {      $id =$_GET['id'];    $seleciona = mysql_query ("SELECT * FROM tb_noticias WHERE id = '$id'");    $linhasel = mysql_fetc_array($seleciona, MYSQL_BOTH);}?>

 

Ai no seu formulário vai ficar mais ou menos assim:

 

 

<input type="text" name="titulo" id="titulo" value="<?php echo $linhasel['titulo']; ?>" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom galera, eu sou muito novo nisso, não estou conseguindo fazer, vou postar a minha função de alteração e o form e vcs me dizem as mudanças que eu tenho que fazer por favor.

//form da página "editar-noticia.php"

<form id="noticias-form" name="editar" method="POST" action="funcaoeditar.php">
		<div class='field'>
				<label for='titulo'>Título:</label>
				<textarea rows='1' cols='35' name='titulo'></textarea>
				<p class='hint'>Entre com o título da notícia.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Notícia:</label>
				<textarea rows='7' cols='50' name='noticia'></textarea>
				<p class='hint'>Digite a notícia a ser postada.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Autor:</label>
				<select name='autor' size='1' id='autor' value='autor'><option selected='selected'>Selecione:</option><option>Float</option><option>NoFace</option></select>
				<p class='hint'>Escolha o seu nick.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Data:</label>
				<input type='text' name='datnot' maxlength='10' OnKeyPress='formatar('##/##/####', this)' >
				<p class='hint'>Entre com a data atual.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Horário:</label>
				<input type='text' name='hornot' maxlength='5' OnKeyPress='formatar('##:##', this)' >
				<p class='hint'>Entre com o horário atual.</p>
			</div>
			
<input type='submit' value='Confirmar' class='button'>
</form>



-------------------------------------------------------------------------------------



//funcao pagina "funcaoeditar.php"

<?php
		include  'conectividade.php';
		$id =$_GET['id'];
		$noticia = $_POST['noticia'];
		$autor = $_POST['autor'];
		$datnot = $_POST['datnot'];
		$hornot = $_POST['hornot'];
		if(mysql_query("UPDATE tb_noticias SET titulo='$titulo', noticia='$noticia', autor='$autor', datnot='$datnot', hornot='$hornot' WHERE id='$id'"));
	  {
echo "Alterado";
}else{
echo mysql_error();
}
	  ?>

agradeço desde já as pessoas que estão me ajudando, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro vc precisa definir (ou selecionar) qual registro a ser editado;

aí vincule os dados recuperados aos campos de um formulário,

como o exemplo do post #5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro vc precisa definir (ou selecionar) qual registro a ser editado;

aí vincule os dados recuperados aos campos de um formulário,

como o exemplo do post #5.

Como?

adicionando essa seleção na minha página de função?

$seleciona = mysql_query ("SELECT * FROM tb_noticias WHERE id = '$id'"); 
   $linhasel = mysql_fetc_array($seleciona, MYSQL_BOTH);

e adicionando o valor nos campos do form?

 

 

value="<?php echo $linhasel['titulo']; ?>" />

como o ebersondiniz disse.. ? É que eu tentei já de tantas formas, inclusive essa e não tive sucesso ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, como eu disse, já está explicado no post #5:

nessas linhas vc recupera um id (passado por um link, normalmente):

 

 

if (isset($_GET['id'])) {$id =$_GET['id'];

 

ok?

nessas linhas vc consulta o banco de dados e monta um array p/ recuperar os dados:

 

$seleciona = mysql_query ("SELECT * FROM tb_noticias WHERE id = '$id'");
while $linhasel = (mysql_fetch_array($seleciona))
{

ai monta o form.. vai ter q misturar código PHP com HTML:

 

Ai no seu formulário vai ficar mais ou menos assim:

Quote

<input type="text" name="titulo" id="titulo" value="<?php echo $linhasel['titulo']; ?>" />

 

ou se sua dúvida é como passar esse id, retorne q a gente ajuda, ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu realmente não sei o que está acontecendo com esse programa, e estou ficando nervoso com isso já, pois estou a mais de 3 dias pesquisando na internet e testando inúmeras coisas aqui insanamente, eu entendo apenas o básico do php, talvez nem isso, tudo que vcs me falam parece outra língua, por isso eu disse que sou novo, eu postei as minhas páginas todas, a de consultar, inserir e excluir, só me falta a bendita alterar, na minha cabeça era pra ter funcionado já, talvez seja o jeito que a id está passando pra função esteja errado, mas quando eu faço a consulta na pag de consulta, clico em 'alterar' e ele puxa a id pra função, mas não acontece nada, não aparece nenhum erro e tals, vou mostrar o que está acontecendo

1ª consultar-noticias.php -> (pagina de consulta)

2ª ele imprime todos os registros, então eu clico em qualquer um no "alterar" (no caso o registro de id 3)

3ª logo, ele abre o form com a url (editar-noticias.php?id=3) Ou seja, ele puxou a id mesmo?
4ª Quando preencho os campos e clico em confirmar, vai para a url(funcaoeditar.php), ou seja, não aparece a id do registro, então ele não mandou a id certo? a tela fica em branco e não acontece nada .

 

Vou postar novamente as 3 páginas, (consulta, form, função)
Fiz algumas alterações com o que foi dito aqui, mas ainda não consegui.

//consultar-noticias.php (Consulta)



<article><a class='top'>Consultando Notícias</a></article>
<?php
$seleciona = mysql_query("SELECT * FROM tb_noticias ");
if ($seleciona == ''){
	echo 'erro';
}else{
	while ($res_id = mysql_fetch_array($seleciona)){
		$id=$res_id['id'];
		$titulo=$res_id['titulo'];
		$noticia=$res_id['noticia'];
		$autor=$res_id['autor'];
		$hornot=$res_id['hornot'];
		$datnot=$res_id['hornot'];
		?>
<article>
		<section class='body'>
			<h1>ID:<?php echo $id;?> - <?php echo $titulo;?></h1>
			<h2><?php echo $noticia;?></h2>
			<h3>Feita por <?php echo $autor;?> no dia <?php echo $datnot;?> ás <?php echo $hornot;?></h3>
			<div class='autor'> </div>
			<div id='funcao'><a href="editar-noticias.php?id=<?php echo $id;?>">EDITAR</a> | <a href="funcaoexcluir.php?id=<?php echo $id;?>">APAGAR</a></div>
		</section>
	</article>
<?php
}
}
?>	


___________________________________________________________________________________________


//editar-noticias.php  (FORM)




<form id="noticias-form" name="editar" method="POST" action="funcaoeditar.php">
		<div class='field'>
				<label for='titulo'>Título:</label>
				<textarea rows='1' cols='35' name='titulo' value="<?php echo $linhasel['titulo']; ?>" ></textarea>
				<p class='hint'>Entre com o título da notícia.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Notícia:</label>
				<textarea rows='7' cols='50' name='noticia' value="<?php echo $linhasel['noticia']; ?>" ></textarea>
				<p class='hint'>Digite a notícia a ser postada.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Autor:</label>
				<select name='autor' size='1' id='autor' value="<?php echo $linhasel['autor']; ?>" ><option selected='selected'>Selecione:</option><option>Float</option><option>NoFace</option></select>
				<p class='hint'>Escolha o seu nick.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Data:</label>
				<input type='text' name='datnot' value="<?php echo $linhasel['datnot']; ?>"  maxlength='10' OnKeyPress='formatar('##/##/####', this)' " >
				<p class='hint'>Entre com a data atual.</p>
			</div>
			
			<div class='field'>
				<label for='titulo'>Horário:</label>
				<input type='text' name='hornot' value="<?php echo $linhasel['hornot']; ?>"  maxlength='5' OnKeyPress='formatar('##:##', this)' " >
				<p class='hint'>Entre com o horário atual.</p>
			</div>
			
<input type='submit' value='Confirmar' class='button'>
</label>
</form>




___________________________________________________________________________________________



//funcaoeditar.php  (função)


<?php
include  'conectividade.php';
if (isset($_GET['id'])) {
$id =$_GET['id'];
$seleciona = mysql_query ("SELECT * FROM tb_noticias WHERE id = '$id'");
while $linhasel = (mysql_fetch_array($seleciona))
{
include  'conectividade.php';
		$id =$_GET['id'];
		$noticia = $_POST['noticia'];
		$autor = $_POST['autor'];
		$datnot = $_POST['datnot'];
		$hornot = $_POST['hornot'];
		$sql ="UPDATE tb_noticias SET titulo='$titulo', noticia='$noticia', autor='$autor', datnot='$datnot', hornot='$hornot' 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>";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Blz.

 

É o seguinte, os códigos estão quase 100%, falta somente um concerto na página editar-noticias.php, o problema dessa página é que ao clicar em confirmar ele direciona a pessoa para a página fucaoeditar.php, a questão é que não pega a id assim ele acaba não alterando os registros no banco de dados, se você souber como fazer para ao clicar no botçao confirmar e ele pegar o id e mandar para a página estará completo. Pois é só isso que está faltando, por exemplo na página editar-noticias.php na parte inicial do form se trocar o action "funcaoeditar.php" por "funcaoeditar.php?id=1" ele altera o registro corretamente a questão é que se você quiser alterar o registro de id 2 ao clicar no botão confirmar acaba editando o 1, então para resolver tens que fazer com que a action pegue a id do registro que vai ser editada e ai sim direcione.

 

Segue os cófigos:

consultar-noticias.php

 

<article><a class='top'>Consultando Notícias</a></article>
<?php
include  'conectividade.php';
$seleciona = mysql_query("SELECT * FROM tb_noticias ");
if ($seleciona == ''){
	echo 'erro';
}else{
	while ($res_id = mysql_fetch_array($seleciona)){
		$id=$res_id['id'];
		$titulo=$res_id['titulo'];
		$noticia=$res_id['noticia'];
		$autor=$res_id['autor'];
		$hornot=$res_id['hornot'];
		$datnot=$res_id['hornot'];
		?>
<article>
		<section class='body'>
			<h1>ID:<?php echo $id;?> - <?php echo $titulo;?></h1>
			<h2><?php echo $noticia;?></h2>
			<h3>Feita por <?php echo $autor;?> no dia <?php echo $datnot;?> ás <?php echo $hornot;?></h3>
			<div class='autor'> </div>
			<div id='funcao'><a href="editar-noticias.php?id=<?php echo $id;?>"<?php echo $datnot;?>>EDITAR</a> | <a href="funcaoexcluir.php?id=<?php echo $id;?>"<?php echo $datnot;?>>APAGAR</a></div>
		</section>
	</article>
<?php
}
}
?>

editar-noticias.php

 

<?php
include  'conectividade.php';
?>
<form id="noticias-form" name="editar" method="POST" action="funcaoeditar.php">
		<div class='field'>
        <?php
				if (!isset($linhasel['titulo'])) 
{
//If not isset -> set with dumy value 
$linhasel['titulo'] = "undefine"; 
}
?>
				<label for='titulo'>Título:</label>
				<textarea rows='1' cols='35' name='titulo' value="<?php echo $linhasel['titulo']; ?>" /></textarea>
				<p class='hint'>Entre com o título da notícia.</p>
  </div>
			
			<div class='field'>
            <?php
				if (!isset($linhasel['noticia'])) 
{
//If not isset -> set with dumy value 
$linhasel['noticia'] = "undefine"; 
}
?>
				<label for='titulo'>Notícia:</label>
				<textarea rows='7' cols='50' name='noticia' value="<?php echo $linhasel['noticia']; ?>" /></textarea>
				<p class='hint'>Digite a notícia a ser postada.</p>
			</div>
			
			<div class='field'>
            <?php
				if (!isset($linhasel['autor'])) 
{
//If not isset -> set with dumy value 
$linhasel['autor'] = "undefine"; 
}
?>
				<label for='titulo'>Autor:</label>
				<select name='autor' size='1' id='autor' value="<?php echo $linhasel['autor']; ?>" /><option selected='selected'>Selecione:</option><option>Float</option><option>NoFace</option></select>
				<p class='hint'>Escolha o seu nick.</p>
			</div>
			
			<div class='field'>
<?php
				if (!isset($linhasel['datnot'])) 
{
//If not isset -> set with dumy value 
$linhasel['datnot'] = "undefine"; 
}
?>
                <label for='titulo'>Data:</label>
				<input type='text' name='datnot' value="<?php echo $linhasel['datnot']; ?>"  maxlength='10' OnKeyPress='formatar('##/##/####', this)' />
				<p class='hint'>Entre com a data atual.</p>
			</div>
			
  <div class='field'>
            <?php
				if (!isset($linhasel['hornot'])) 
{
//If not isset -> set with dumy value 
$linhasel['hornot'] = "undefine"; 
}
?>
				<label for='titulo'>Horário:</label>
				<input type='text' name='hornot' value="<?php echo $linhasel['hornot']; ?>"  maxlength='5' OnKeyPress='formatar('##:##', this)' />
				<p class='hint'>Entre com o horário atual.</p>
			</div>
			
<input type='submit' value='Confirmar' class='button'>
</label>
</form>

funcaoeditar.php

 

<?php
include  'conectividade.php';
if (isset($_GET['id'])) {
$id =$_GET['id'];
$seleciona = mysql_query ("SELECT * FROM tb_noticias WHERE id = '$id'");
while ($linhasel = (mysql_fetch_array($seleciona)))
{
include  'conectividade.php';
if (!isset($_POST['titulo'])) 
{
//If not isset -> set with dumy value 
$_POST['titulo'] = "undefine"; 
}
if (!isset($_POST['noticia'])) 
{
//If not isset -> set with dumy value 
$_POST['noticia'] = "undefine"; 
}
if (!isset($_POST['autor'])) 
{
//If not isset -> set with dumy value 
$_POST['autor'] = "undefine"; 
}
if (!isset($_POST['datnot'])) 
{
//If not isset -> set with dumy value 
$_POST['datnot'] = "undefine"; 
}
if (!isset($_POST['hornot'])) 
{
//If not isset -> set with dumy value 
$_POST['hornot'] = "undefine"; 
}
		$id =$_GET['id'];
		$titulo = $_POST['titulo'];
		$noticia = $_POST['noticia'];
		$autor = $_POST['autor'];
		$datnot = $_POST['datnot'];
		$hornot = $_POST['hornot'];
		$sql ="UPDATE tb_noticias SET titulo='$titulo', noticia='$noticia', autor='$autor', datnot='$datnot', hornot='$hornot' 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>";
}

?>

O arquivo excluir e o de inserir não coloquei já que você falou que estão funcionando corretamente.

 

Espero que você consiga terminar. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Diefferson Moro!

Primeiramente gostaria muito de agradecer pela ajuda que me deu, aprendi muito com o que me disse, sem dúvida foi a resposta que eu precisava, no começo deu algumas coisas erradas aqui, mas com o que disse eu mudei algumas coisas e funcionou :D

 

 

Só mudei lá no form como vc disse lá em cima, agora ficou 100% Muito obrigado mesmo :D

 

<?php $id =$_GET['id'];?>

 

action="funcaoeditar.php?id=<?php echo $id;?>"

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.