Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas Fernando

[Resolvido] Problema com UPDATE e DELETE

Recommended Posts

Ola amigos sou novo de cadastro aqui no forum, mais já acompanho o Imasters a bastante tempo.

 

Primeiramente gostaria de elogiar a todos pelo excelente trabalho, e aos usuarios por sempre ajudarem com soluções !!!

 

bem o que acontece é o seguinte estou criando um "Mural de recados" algo que era para ser simples.

 

fiz a conexão com o banco que é o meu arquivo "seguranca.php" que está funcionando perfeitamente

 

O INSERT tambem está funcioando perfeitamente porem o UPDATE e o DELETE não estão funcionando pesquisei muito e não sei o que está acontendo então se alguem puder me ajudar eu agradeço muito.

 

adm_atividade.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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>editar</title>
<style type="text/css">
<!--
.style9 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; }
-->
</style>
</head>

<body>
<?php
include "seguranca.php"; // Inclui o arquivo com o sistema de segurança
protegePagina(); // Chama a função que protege a página
if($_GET['funcao'] != "editar"){
?>
<form id="form" name="form" method="post" action="incluiatividade.php?funcao=gravar">
 <table width="440" border="0" cellpadding="3" cellspacing="3">
   <tr>
     <td width="128">Nome da Atívidade:</td>
     <td width="293"><label>
       <input name="nome_ativ" type="text" id="nome_ativ" size="40" />
     </label></td>
   </tr>
   <tr>
     <td>Mensagem:</td>
     <td rowspan="2"><label>
       <textarea name="mensagem_ativ" id="mensagem_ativ" cols="45" rows="5"></textarea>
     </label></td>
   </tr>
   <tr>
     <td> </td>
   </tr>
   <tr>
     <td> </td>
     <td><label>
       <input type="submit" name="button" id="button" value="Cadastrar" />
       <input type="reset" name="button" id="button" value="Limpar" />
     </label></td>
   </tr>
 </table>
</form>
<?php
}
?>
<?php
if($_GET ['funcao'] == "editar"){
$pega_cod = $_GET['cod_ativ'];
$sql_update = mysql_query ("SELECT * FROM atividade WHERE cod_ativ = '$pega_cod' ");
while($linha = mysql_fetch_array($sql_update) ){
$nome_datahora = $linha['datahora'];
$nome_atividade = $linha['nome_ativ'];
$nome_msg = $linha['mensagem_ativ'];
}
?>
<form id="form" name="form" method="post" action="incluiatividade.php?funcao=editar&cod_ativ=<?php echo $pega_cod ?>">
 <table width="440" border="0" cellpadding="3" cellspacing="3">
 <input name="datahora" type="hidden" value="<?php $nome_datahora  ?>" />
   <tr>
     <td width="125">Nome da Atívidade:</td>
     <td width="294"><label>
       <input name="nome" type="text" id="nome" size="40" value="<?php echo $nome_atividade ?>" />
     </label></td>
   </tr>
   <tr>
     <td>Mensagem:</td>
     <td rowspan="2"><label>
       <textarea name="mensagem" id="mensagem" cols="45" rows="5"><?php echo $nome_msg ?></textarea>
     </label></td>
   </tr>
   <tr>
     <td> </td>
   </tr>
   <tr>
     <td> </td>
     <td><label>
       <input type="submit" name="button" id="button" value="Alterar" />

     </label></td>
   </tr>
 </table>
</form>
<?php
}
?>

<br />
<table width="783" border="0" cellpadding="3" cellspacing="3">
 <tr>
   <td width="603" align="center" bgcolor="#CCCCCC"><span class="style9">Nome da Atívidade</span></td>
   <td width="63" align="center" bgcolor="#CCCCCC"><span class="style9">Editar</span></td>
   <td width="87" align="center" bgcolor="#CCCCCC"><span class="style9">Remover</span></td>
 </tr>

 <?php

 $sql_ver = mysql_query("select * from atividade ORDER BY datahora ");
  	while($linha = mysql_fetch_array ($sql_ver) )
  	{

	  	$pega_data = $linha['datahora'];
	  	$pega_nome = $linha['nome_ativ'];
	  	$pega_msg = $linha['mensagem_ativ'];
	  	$pega_cod = $linha['cod_ativ'];
 ?>
 <tr>
   <td><?php echo $pega_data ?>||<?php echo $pega_nome ?></td>
   <td align="center"><a href="adm_atividade.php?funcao=editar&cod_ativ=<?php echo $pega_cod ?>">Editar</a></td>
   <td align="center"><a href="adm_atividade.php?funcao=excluir&cod_ativ=<?php echo $pega_cod ?>">Excluir</a></td>
 </tr>
 <?php
  	}
 ?>
</table>
</body>
</html>

[b]

[/b]

 

incluiatividade.php

 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<?php
include "seguranca.php";


$grava_atividade = $_POST['nome_ativ'];
$grava_mensagem = $_POST['mensagem_ativ'];

//**********************************************************

if($_GET['funcao'] == "gravar"){
$sql_gravar = mysql_query("INSERT INTO atividade (nome_ativ, mensagem_ativ) value ('$grava_atividade','$grava_mensagem')");
header('Location:adm_atividade.php');
}

//*********************************************************

if($_GET['funcao'] == "editar"){
$pega_cod = $_GET['cod_ativ'];
$sql_alterar = mysql_query("UPDATE atividade SET  nome_ativ= '$grava_atividade', mensagem_ativ= '$grava_mensagem' WHERE cod_ativ= '$pega_cod'");
echo "<script language='javascript'>alert('Mensagem alterada com sucesso'); window.location.href = 'adm_atividade.php'</script>";

}

//********************************************************

if($_GET['funcao'] == "excluir"){
$pega_cod = $_GET['cod_ativ'];
$sql_del = mysql_query("DELETE FROM atividade WHERE cod_ativ = '$pega_cod'");
echo "<script language='javascript'>alert('mensagem removida com sucesso'); window.location.href = 'adm_atividade.php'</script>";


}else {
echo "<script language='javascript'>alert('Não foi possível remover o cliente')</script>";
}

?>

 

Agradeço desde já a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou roda as consultas diretamente pelo banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou roda as consultas diretamente pelo banco?

 

sim efetuei UPDATES E DELETES diretamente no banco funcionam perfeitamente

 

Porem se realizar o UPDATE pelo php "adm_atividade" = alem de não atualizar os dados que eu digitar ele ainda apaga a informação anterior.

 

Já no DELETE não acontece nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina adm_atividade.php

 

Na parte que você envia os dados para EDITAR

na tag na tag form você envia por POST e na pagina atividade.php você recupera por $_GET['cod_ativ']

então basta trocar por $_POST['cod_ativ']

 

E para Excluir os dados não acontece nada pois você não envia NADA para pagina atividade.php

 

da uma olhada qqr coisa posta ai

 

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina adm_atividade.php

 

Na parte que você envia os dados para EDITAR

na tag na tag form você envia por POST e na pagina atividade.php você recupera por $_GET['cod_ativ']

então basta trocar por $_POST['cod_ativ']

 

E para Excluir os dados não acontece nada pois você não envia NADA para pagina atividade.php

 

da uma olhada qqr coisa posta ai

 

espero ter ajudado

 

Ola amigo fiz o que me falou mais o problema só aumentou.

mais é o seguinte o UPDATE não funciona especificamente na hora de alterar.

pois ele chega a resgatar as informações cadastradas

 

exemplo:

screenshot001pm.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da um echo na SQL da pagina incluiatividade.php e verifica se os dados estão sendo passados

 

OBS.: sobre trocar $_GET[] por $_POST[] é na pagina incluiatividade.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da um echo na SQL da pagina incluiatividade.php e verifica se os dados estão sendo passados

 

OBS.: sobre trocar $_GET[] por $_POST[] é na pagina incluiatividade.php

 

voce fala para alterar o bloco if == editar correto ?

 

if($_GET['funcao'] == "editar"){

$pega_cod = $_POST['cod_ativ'];

$sql_alterar = mysql_query("UPDATE atividade SET nome_ativ= '$grava_atividade', mensagem_ativ= '$grava_mensagem' WHERE cod_ativ= '$pega_cod'");

echo "<script language='javascript'>alert('$grava_mensagem', '$grava_atividade'); window.location.href = 'adm_atividade.php'</script>";

 

não adiantou de ambas as formas e fiz o teste tbm com as variaveis retorna em branco. Não sei mais o que fazer pois a sintaxe do UPDATE está certa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer assim:

pagina adm_atividade.php

 

<?php
if($_GET ['funcao'] == "editar"){
  $pega_cod = $_GET['cod_ativ'];
  $sql_update = mysql_query ("SELECT * FROM atividade WHERE cod_ativ = '$pega_cod' ");
  while($linha = mysql_fetch_array($sql_update) ){
     $nome_datahora = $linha['datahora'];
     $nome_atividade = $linha['nome_ativ'];
     $nome_msg = $linha['mensagem_ativ'];
}
?>
<form id="form" name="form" method="post" action="incluiatividade.php">
  <table width="440" border="0" cellpadding="3" cellspacing="3">
      <input name="datahora" type="hidden" value="<?php $nome_datahora ?>" />

      <!-- Inclui mais 2 hidden -->
      <input name="funcao" type="hidden" value="editar" />
      <input name="cod_ativ" type="hidden" value="<?php echo $pega_cod; ?>" />

      <tr>
         <td width="125">Nome da Atívidade:</td>
         <td width="294"><label>
         <input name="nome" type="text" id="nome" size="40" value="<?php echo $nome_atividade ?>" />
         </label></td>
      </tr>
      <tr>
         <td>Mensagem:</td>
         <td rowspan="2"><label>
         <textarea name="mensagem" id="mensagem" cols="45" rows="5"><?php echo $nome_msg ?></textarea>
         </label></td>
     </tr>
     <tr>
         <td> </td>
     </tr>
     <tr>
         <td> </td>
         <td><label>
         <input type="submit" name="button" id="button" value="Alterar" />
         </label></td>
     </tr>
  </table>
</form>

 

na pagina incluiatividade.php

 

if($_POST['funcao'] == "editar"){
  $pega_cod = $_POST['cod_ativ'];
  $sql_alterar = mysql_query("UPDATE atividade SET nome_ativ= '$grava_atividade', mensagem_ativ= '$grava_mensagem' WHERE cod_ativ= $pega_cod");

 

dps da um echo na sql p/ ver se está enviando os dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer assim:

pagina adm_atividade.php

 

<?php
if($_GET ['funcao'] == "editar"){
  $pega_cod = $_GET['cod_ativ'];
  $sql_update = mysql_query ("SELECT * FROM atividade WHERE cod_ativ = '$pega_cod' ");
  while($linha = mysql_fetch_array($sql_update) ){
     $nome_datahora = $linha['datahora'];
     $nome_atividade = $linha['nome_ativ'];
     $nome_msg = $linha['mensagem_ativ'];
}
?>
<form id="form" name="form" method="post" action="incluiatividade.php">
  <table width="440" border="0" cellpadding="3" cellspacing="3">
      <input name="datahora" type="hidden" value="<?php $nome_datahora ?>" />

      <!-- Inclui mais 2 hidden -->
      <input name="funcao" type="hidden" value="editar" />
      <input name="cod_ativ" type="hidden" value="<?php echo $pega_cod; ?>" />

      <tr>
         <td width="125">Nome da Atívidade:</td>
         <td width="294"><label>
         <input name="nome" type="text" id="nome" size="40" value="<?php echo $nome_atividade ?>" />
         </label></td>
      </tr>
      <tr>
         <td>Mensagem:</td>
         <td rowspan="2"><label>
         <textarea name="mensagem" id="mensagem" cols="45" rows="5"><?php echo $nome_msg ?></textarea>
         </label></td>
     </tr>
     <tr>
         <td> </td>
     </tr>
     <tr>
         <td> </td>
         <td><label>
         <input type="submit" name="button" id="button" value="Alterar" />
         </label></td>
     </tr>
  </table>
</form>

 

na pagina incluiatividade.php

 

if($_POST['funcao'] == "editar"){
  $pega_cod = $_POST['cod_ativ'];
  $sql_alterar = mysql_query("UPDATE atividade SET nome_ativ= '$grava_atividade', mensagem_ativ= '$grava_mensagem' WHERE cod_ativ= $pega_cod");

 

dps da um echo na sql p/ ver se está enviando os dados

 

Não funcionou, nossa que coisa será que vou ter começar outro do zero que coisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pelo que entendi não esta enviando os dados Correto?

 

entao dei uma olhada nos nomes dos inputs e o nome como você esta recuperando.. percebi que estavam trocados

 

pagina adm_atividade.php

<?php
if($_GET ['funcao'] == "editar"){ ...

      ...
         <td width="125">Nome da Atívidade:</td>
         <td width="294"><label>

         <!-- Colocou nome="nome" então coloca nome="nome_ativ" -->

         <input name="nome" type="text" id="nome" size="40" value="<?php echo $nome_atividade ?>" />
         </label></td>
      </tr>
      <tr>
         <td>Mensagem:</td>
         <td rowspan="2"><label>

         <!-- Colocou nome="mensagem" então coloca nome="mensagem_ativ" -->

         <textarea name="mensagem" id="mensagem" cols="45" rows="5"><?php echo $nome_msg ?></textarea>
         </label></td>
     </tr>
 ....

 

perceba que na pagina incluiatividade.php você recuperou os dados assim:

$grava_atividade = $_POST['nome_ativ'];
$grava_mensagem = $_POST['mensagem_ativ'];

 

caso nao funcione da uma revisada nos nomes dos campos do formulario e nas variaveis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pelo que entendi não esta enviando os dados Correto?

 

entao dei uma olhada nos nomes dos inputs e o nome como você esta recuperando.. percebi que estavam trocados

 

pagina adm_atividade.php

<?php
if($_GET ['funcao'] == "editar"){ ...

      ...
         <td width="125">Nome da Atívidade:</td>
         <td width="294"><label>

         <!-- Colocou nome="nome" então coloca nome="nome_ativ" -->

         <input name="nome" type="text" id="nome" size="40" value="<?php echo $nome_atividade ?>" />
         </label></td>
      </tr>
      <tr>
         <td>Mensagem:</td>
         <td rowspan="2"><label>

         <!-- Colocou nome="mensagem" então coloca nome="mensagem_ativ" -->

         <textarea name="mensagem" id="mensagem" cols="45" rows="5"><?php echo $nome_msg ?></textarea>
         </label></td>
     </tr>
 ....

 

perceba que na pagina incluiatividade.php você recuperou os dados assim:

$grava_atividade = $_POST['nome_ativ'];
$grava_mensagem = $_POST['mensagem_ativ'];

 

caso nao funcione da uma revisada nos nomes dos campos do formulario e nas variaveis

 

Nossa RDP como pude ser tão burro, eu criei os formulários antes acabei esquecendo de alterar o do UPDATE

 

vlw mesmo eu dormi feio já tava até desistindo ia começar outro.

 

Porem o problema no DELETE persiste vou tentar resolver aqui .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina que contém o formulário você criou blocos de IF

para alterar e inserir dados no banco , porém eu não vi nenhum

bloco p/ deletar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina que contém o formulário você criou blocos de IF

para alterar e inserir dados no banco , porém eu não vi nenhum

bloco p/ deletar

 

Sim só que eu criei as duas ações "alterar" "excluir" certo ? ficou assim logo no final do codigo

 

adm_atividade.php

 

<td align="center"><a href="adm_atividade.php?funcao=editar&cod_ativ=<?php echo $pega_cod ?>">Editar</a></td>

<td align="center"><a href="adm_atividade.php?funcao=excluir&cod_ativ=<?php echo $pega_cod ?>">Excluir</a></td>

 

a função que exclui

 

inclui_atividade.php

 

if($_GET['funcao'] == "excluir"){

$pega_cod = $_GET['cod_ativ'];

$sql_del = mysql_query("DELETE FROM atividade WHERE cod_ativ= '$pega_cod'");

echo "<script language='javascript'>alert('mensagem removida com sucesso'); window.location.href = 'adm_atividade.php'</script>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você qser excluir clicando apenas no link EXCLUIR que consta na pagina adm_atividade.php

 

Basta trocar a URL de:

<a href="adm_atividade.php?funcao=excluir&cod_ativ=<?php echo $pega_cod ?>">Excluir</a>

para:

<a href="inclui_atividade.php?funcao=excluir&cod_ativ=<?php echo $pega_cod ?>">Excluir</a>

 

Como você pode ver você estava enviando p/ msm pagina

 

espero que funcione

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você qser excluir clicando apenas no link EXCLUIR que consta na pagina adm_atividade.php

 

Basta trocar a URL de:

<a href="adm_atividade.php?funcao=excluir&cod_ativ=<?php echo $pega_cod ?>">Excluir</a>

para:

<a href="inclui_atividade.php?funcao=excluir&cod_ativ=<?php echo $pega_cod ?>">Excluir</a>

 

Como você pode ver você estava enviando p/ msm pagina

 

espero que funcione

 

 

VLW amigo percebi 1 minuto antes de ver seu post, puxa vida fiquei apenas um tempo sem mexer com linguagem e faço uma dessa, tão simples de resolver.

 

<td align="center"><a href="incluiatividade.php?funcao=excluir&cod_ativ=<?php echo $pega_cod ?>">Excluir</a></td>

 

Eu bicho besta via que mexia no if e nada acontecia e mesmo assim não achava o erro, incrivel não.

 

Obrigado mais uma vez RDP vlw mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

è sempre assim, pois você jah esta acostumado com seu codigo

então fica mais dificil resolver os problemas sozinho....

 

 

mas precisando poste ai ..

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.