Actualização de um registo
Para mostrar como se actualiza um registo presente na nossa base de dados, vamos fazê-lo a partir de um caso um pouco mais complexo para que comecemos a familiarizar-nos com estas operações. Realizaremos um par de scripts que permitam mudar o número de telefone das diferentes pessoas presentes na nossa base. O nome destas pessoas, assim como o novo número de telefone, serão recolhidos através de um formulário.
Este ficheiro do formulário vai ser de esta vez um script PHP no que efectuaremos uma chamada à nossa base de dados para construir um menu dinâmico onde apareçam todos os nomes. Ficaria assim:
<HTML>
<HEAD>
<TITLE>Actualizar1.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Actualizar um registo</h1><br>
<?
//Conexão à base
mysql_connect("localhost","user","password");
echo '<FORM METHOD="POST" ACTION="actualizar2.php">Nombre<br>';
//Criamos a sentença SQL e executamo-la
$sSQL="Select nome From clientes Order By nome";
$result=mysql_db_query("exemplo",$sSQL);
echo '<select name="nome">';
//Geramos o menu dinâmico
while ($row=mysql_fetch_array($result))
{
echo '<option>'.$row["nome"];
}
?>
</select><br>Telefone<br><INPUT TYPE="TEXT" NAME="telefone">
<br>
<INPUT TYPE="SUBMIT" value="Actualizar!">
</FORM>
</div>
</BODY>
</HTML>
A maneira de trabalhar para construir o menu dinâmico é a mesma que para visualizar a tabela. Novamente empregamos um loop while em combinação com a função mysql_fetch_array o que nos permite mostrar cada uma das opções.
O script de actualização seria muito parecido ao de inserção:
<HTML>
<HEAD>
<TITLE>Actualizar2.php</TITLE>
</HEAD>
<BODY>
<?
//Conexão com a base
mysql_connect("localhost","user","password");
//Criamos a sentença SQL e executamo-la
$sSQL="Update Clientes Set telefone='$telefone' Where nome='$nome'";
mysql_db_query("exemplo",$sSQL);
?>
<h1>
<div align="center">Registro Actualizado</div>
</h1><div align="center">
<a href="leitura.php">Visualizar o conteúdo da base</a></div>
</BODY>
</HTML>
Executar exemplo
Comentários do artigo