Ir ao conteúdo
  • Cadastre-se

Alterar registro do banco de dados


Cassia Reis

Posts recomendados

Olá amigos boa tarde.

estou aprendendo php agora e tenho algumas dúvidas, pois queria alterar um registro do banco de dados através do formulário. O Problema é que dá erro sempre na mesma linha.

Eu fiz uma página anterior onde listo todos os itens que estão na tabela e em frente de cada um, aparece a opção para alterar e excluir.

vejam o código para alterar



<?php include ("conecta.php");
$cod = $_GET['cdfabric'];
$ver_fabric = "SELECT * FROM fabricante WHERE cdfabric='$cod'";
$sql_fabric = mysql_query($ver_fabric);
while( $linha_fabric = mysql_fetch_array($sql_fabric)){
$id_fabric= $linha_fabric['cdfabric'];
$nome_fabric = $linha_fabric['nmfabric'];
}


?>





<form method="post" action="alterarfabric.php?cdfabric=<?php echo $id_fabric; ?>">

Nome do Fabricante: <input type="text" name="fabricante" maxlength=30 size=30 value="<?php echo $nome_fabric; ?>">
<input type="submit" value="enviar" name="btcad">

</form>

<div class="i">
<fieldset class ="n">

<div class="b">
<a href="admpagina.html">Voltar</a>

</fieldset>
</div>

<?php



if (isset($_REQUEST['btcad'])){
include "conecta.php";
$fabric = $_POST['nmfabric'];

$cad = "UPDATE fabricante SET nmfabricante='$fabric' WHERE cdfabric='$id_fabric'";
$sql_cad = mysql_query($cad);

echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=listarfabric.php'>";
}

?>

</div>

</form>

o erro sempre aparece nessa linha: $cod = $_GET['cdfabric'];

dá erro de index nao definido cdfabric

se alguém puder me ajudar a entender eu agradeço :)

Link para o comentário
Compartilhar em outros sites

Essa página que eu coloquei é que edita as informações.

Se chama alterarfabric.php.

Eu fiz a página para cadastrar e deu tudo certo. Ele cadastra normal.

E fiz a página para listar o que está no banco de dados:

//mostra os periodos cadastrados no banco de dados
$mostra_fabric = mysql_query("SELECT * FROM fabricante ORDER BY cdfabric DESC");
//faz a repetição deacordo com a quantidade do banco de dados
while($linhafabric = mysql_fetch_array($mostra_fabric)){
$pega_fabric= $linhafabric['nmfabric'];
$idfabric = $linhafabric['cdfabric'];
?>

<tr>
<td><?php echo $pega_fabric; ?></td>
<td width="42"><a href="alterarfabric.php?cdfabric=<?php echo $idfabric; ?>">Alterar</a></td>
<td width="41"><a href="grupo_funcao.php?funcao=alterar&cdgrupo=<?php echo $idfabric; ?>">Excluir</a></td>
</tr>

<?php }?>
</table>

mas com relação a aquilo que você falou: Get vai receber a variável que é passada no código acima ou ela recebe na página de alteração?

Acho que consegui minimizar o erro.

<?php include ("conecta.php");
$cod = $_GET['cdfornec'];
$ver_fornec = "SELECT * FROM fornecedor WHERE cdfornec='$cod'";
$sql_fornec = mysql_query($ver_fornec);
while( $linha_fornec = mysql_fetch_array($sql_fornec)){
$id_fornec = $linha_fornec['cdfornec'];
$nome_fornec = $linha_fornec['nmfornec'];
}


?>
<form method="post" action="alterarfornecedor.php?cdfornec=<?php echo $id_fornec; ?>">

Nome do Fornecedor: <input type="text" name="fornecedor" maxlength=30 size=30 value="<?php echo $nome_fornec; ?>">
<input type="submit" value="enviar" name="btcad">

</form>

<?php

if (isset($_REQUEST['btcad'])){
include "conecta.php";
$fornec = $_POST['fornecedor'];

$cad = "UPDATE fornecedor SET nmfornecedor='$fornec' WHERE cdfornec='$id_fornec'";
$sql_cad = mysql_query($cad);

echo "<meta HTTP-EQUIV='refresh' CONTENT='0;URL=listarfornec.php'>";
}

?>

<div class="i">
<fieldset class ="n">


<div class="a">
<input type="submit" value="Confirmar">
</div>
<div class="b">
<a href="admpagina.html">Voltar</a>

</fieldset>
</div>

agora eu clico em enviar e leva a uma pagina q está escrito: objeto não encontrado!

Mas pelo menos agora ele exibe a informação para eu poder editar

Link para o comentário
Compartilhar em outros sites

  • Moderador

então,

Sim você precisa receber por GET na pagina de ediçao onde contem o formulario. agora é problema de que ele nao encontrou a pagina para receber os dados que serao editados..

veja se existe o alterarfornecedor.php e dentro desse ele precisa receber por GET o codigo.. para poder alterar a linha dele no registro.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!