Ir para conteúdo

POWERED BY:

Arquivado

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

rosarinho

Update não funciona

Recommended Posts

Olá pessoal!

Estou com um b.o tenho uma página chamada alteracao.php onde ela mostra uma tabela com os campos que são puxados do banco e cada linha possui um botão chamado editar. para poder editar a pessoa cadastrada. esse editar me direciona para o alterar.php

onde me trás os dados no form! até ai funcionando.. mudo os dados da pessoa. e salvo onde ele vai para o salvaralteracao.php onde possui o update .mais ele da um erro.

( ! ) Notice: Undefined index: id in C:\wamp\www\intranet\salvaralteracao.php on line 3

 

obs.: criei uma coluna id que não é mostrada no alteracao.php somente no alterar.php com o campo disabled. não tem necessidade de mostrar na tabela pois só uso ela como referencia para puxar os dados para o form do alterar.php(id está como campo único e auto. incremen..)

 

irei postar os códigos de cada um.

 

 

 

alteracao.php

<?php
error_reporting(0);
include 'connection.php';

echo "<div class=demo-table><table><tr>";
echo"<td>Nome </td>";
echo "<td>Filiais </td>";
echo "<td>Setor </td>";
echo "<td>Número de Celular </td>";
echo "<td>Nextel </td>";
echo "<td>Editar e Excluir </td></tr>";



$buscar=$_POST['buscar'];
$sql=mysql_query("SELECT * FROM contatobd WHERE nome LIKE '%".$buscar."%' OR filiais LIKE '%".$buscar."%' OR setor LIKE '%".$buscar."%' OR numero_cel LIKE '%".$buscar."%' OR nextel LIKE '%".$buscar."%'");
$row=mysql_num_rows($sql);

if ($row > 0){

while($linha=mysql_fetch_array($sql)){

$id=$linha['id'];
$nome=$linha['nome'];
$filiais=$linha ['filiais'];
$setor=$linha['setor'];
$numero_cel=$linha['numero_cel'];
$nextel=$linha['nextel'];



echo "<tr>";

echo"<td>$nome </td>";
echo "<td>$filiais </td>";
echo "<td>$setor </td>";
echo "<td>$numero_cel</td>";
echo "<td>$nextel </td>";
echo" <td><a href=\"cadastrarnovo.php\"> [Adicionar] -</a><a href=\"alterar.php?id=$id\">- [Editar] -</a> <a href=\"excluir.php?id=$id\">- [Excluir] </a></td>";

echo "</tr>";


}

echo "</table>"; 


} else {

echo"Nenhum resultado encontrado!";


}

?>

 

 

 

alterar.php

<?php
error_reporting(0);


$id=$_GET['id'];

include "connection.php";

	$sql="SELECT * FROM contatobd WHERE id='$id'";

	$resultado=mysql_query($sql) or die ("Não foi possivel realizar a consulta ao banco");
	
	
	 while ($linha= mysql_fetch_array($resultado))

          {
			$id=$linha["id"];
            $nome=$linha["nome"];
            $filiais=$linha["filiais"];
            $setor=$linha["setor"];
            $numero_cel=$linha["numero_cel"];
            $nextel=$linha["nextel"];        

     
			} 
     
 ?>
<form action="salvaralteracao.php" method="post">
ID:<br><input type="text" name="id" value="<?php echo $id; ?>"disabled><br>
Nome:<br> <input type="text" name="nome" value="<?php echo $nome; ?>"><br>
Filiais:<br> <input type="text" name="filiais" value="<?php echo $filiais; ?>"><br>
Setor:<br> <input type="text" name="setor" value="<?php echo $setor; ?>"><br>
Numero de Celular: <br><input type="text" name="numero_cel" value="<?php echo $numero_cel; ?>"><br>
Nextel:<br> <input type="text" name="nextel" value="<?php echo $nextel; ?>"><br>
<input type="Submit" value="Salvar">
</form>

salvaralteracao.php

<?php
			
			$id =$_POST['id'];
			$nome=$_POST['nome'];
            $filiais=$_POST['filiais'];
            $setor=$_POST['setor'];
            $numero_cel=$_POST['numero_cel'];
            $nextel=$_POST['nextel'];
			


include 'connection.php';				
if(@mysql_query("UPDATE contatobd SET nome = '$nome',
	filiais = '$filiais',
	setor = '$setor', 
	numero_cel = '$numero_cel', 
	nextel = '$nextel' WHERE id= '$id'")){
	if(mysql_affected_rows() == 1){
		echo "Registro atualizado com sucesso";
	}	

} else {
	if(mysql_errno() == 1062) {
		echo $erros[mysql_errno()];
		exit;
	} else {	
		echo "Erro nao foi possivel efetuar a edição";
		exit;
	}	
	@mysql_close();
}



?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você define o campo com DISABLED ele não é enviado junto ao formulário. Você pode alterar o campo pra um do tipo hidden ou então trocar o disabled por readonly e ver se funciona. O erro é justamente o caso do índice ID não existir, logo ele não foi enviado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você define o campo com DISABLED ele não é enviado junto ao formulário. Você pode alterar o campo pra um do tipo hidden ou então trocar o disabled por readonly e ver se funciona. O erro é justamente o caso do índice ID não existir, logo ele não foi enviado.

Velho muito obrigado! não me atentei isso! só não queria que o usuário alterasse o cod.. muito obg mesmo estava tentando resolver desde de semana passada!

 

posso ti pedir outra ajuda! to com dúvida no insert. porq tipo o usuário no form vai clicar em adicionar mais nao quero q ele coloque o cod, como faço para criar um insert usando a tabela alteracao.php sendo q o cod gere automatico! já criei isso aqui..

 

cadastrarnovo.php

<html>
<head>
	<title> Cadastro de Visitantes</title>
</head>
<body>

<h1> Cadastro de usuários do site</h1>
<br>
<form action="incluir.php" method="post">

<pre>
Insira as informações para efetuar o cadastro e deixe seu comentário.

Nome: <input type="text" size="35" maxlength="256" name="nome">
Filiais: <input type="text" size="35" maxlength="256" name="filiais">
Setor: <input type="text" size="35" maxlength="256" name="setor">
Numero Cel: <input type="text" size="35" maxlength="256" name="numero_cel">
Nextel: <input type="text" size="35" maxlength="256" name="nextel">

<input type="submit" value ="Efetuar o cadastro">
</pre>
	</form>

</body>
</html>

nessa não usei o campo id... nao sei se deveria...

 

 

e criei esse o incluir.php

<?php
error_reporting(0);
			
			$nome=$_POST["nome"];
            $filiais=$_POST["filiais"];
            $setor=$_POST["setor"];
            $numero_cel=$_POST["numero_cel"];
            $nextel=$_POST["nextel"];

	
include 'connection.php';


if(mysql_query("INSERT INTO contatobd VALUES nome = '$nome',
	filiais = '$filiais',
	setor = '$setor', 
	numero_cel = '$numero_cel', 
	nextel = '$nextel' id ='$id'")) {
	if(mysql_affected_rows() == 1){
		echo "Adicionado com Sucesso<br />";
	}
}
?>
<a href="alteracao.php">Voltar</a>

onde errei :/

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.