Outra das operações elementares que se podem realizar sobre uma base de dados é apagar um registo. Para o fazer, SQL propõe sentenças do tipo Delete. Vejamos com um exemplo aplicado à nossa agenda. Primeiro, criamos um menu dinâmico como no caso das actualizações:
<HTML>
<HEAD>
<TITLE>Apagar1.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Apagar um registo</h1>
<br>
<?
//Conexão com a base
mysql_connect("localhost","user","password");
echo '<FORM METHOD="POST" ACTION="borrar2.php">Nome<br>';
//Criamos a sentença SQL executamo-la
$sSQL="Select nome From clientes Order By nome";
$result=mysql_db_query("exemplo",$sSQL);
echo '<select name="nome">';
//Mostramos os registos em forma de menu dinâmico
while ($row=mysql_fetch_array($result))
{
echo '<option>'.$row["nome"];
}
mysql_free_result($result)
?>
</select>
<br>
<INPUT TYPE="SUBMIT" value="Apagar!">
</FORM>
</div>
</BODY>
</HTML>
O seguinte passo é fazer efectiva a operação a partir da execução da sentença SQL que construímos a partir dos dados do formulário:
<HTML>
<HEAD>
<TITLE>Apagar2.php</TITLE>
</HEAD>
<BODY>
<?
//Conexão com a base
mysql_connect("localhost","user","password");
//Criamos a sentença SQL y executamo-la
$sSQL="Delete From Clientes Where nome='$nome'";
mysql_db_query("exemplo",$sSQL);
?>
<h1><div align="center">Registo Apagado</div></h1>
<div align="center">
<a href="leitura.php">Visualizar o conteúdo da base</a>
</div>
</BODY>
</HTML>
Com este capítulo fechámos o bloco de acessos às bases de dados com PHP. Para mais informação relacionada poderás consultar num workshop de PHP que estamos a pensar fazer em breve.
Esta faltando a pagina borrar2.php que esta na action do form na pagina apagar1.php? Ela existe ou foi um erro de digitação?
Por: matchan
22/2/06
O nosso amigo comentou sobre o script borrar2.php...acredito que o autor deixou essa falha propositalmente não?rs....Em resposta ao Araquem o borrar2.php leia-se ou corrija como apagar2.php e tudo vai dar certinho.
Quero aproveitar o deixa deste comentário para agradecer e dar meus mais sinceros congratulações por esse tutorial...sou ainda novato em php e vinha quebrando cabeça com varios tutoriais qdo depois de muitas dores de cabeça e já quase desistindo me deparei com esse tutorial...nota mil para o autor que deveria de alguma forma ser reconhecido de uma maneira mais enfática mas para o momento estou aproveitando esse comentário para isso.
Pode ter a certeza que estarei recomendando este site a todos que se interessarem por php .
Um grande abraço
matchan
Correcção Por: lol
26/11/08
Apagar1:
<HTML>
<HEAD>
<TITLE>Apagar1.php</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Apagar um registo</h1>
<br>
<?
//Conexão com a base
mysql_connect("localhost","root","");
//não era borrar2.php, mas sim apagar2.php
echo '<FORM METHOD="POST" ACTION="Apagar2.php">Nome<br>';
//Criamos a sentença SQL executamo-la
$sSQL="Select nome From clientes Order By nome";
$result=mysql_db_query("exemplo",$sSQL);
echo '<select name="nome">';
//Mostramos os registos em forma de menu dinâmico
while ($row=mysql_fetch_array($result))
{
echo '<option>'.$row["nome"];
}
mysql_free_result($result)
?>
</select>
<br>
<INPUT TYPE="SUBMIT" value="Apagar!">
</FORM>
</div>
</BODY>
</HTML>
Apagar2:
<HTML>
<HEAD>
<TITLE>Apagar2.php</TITLE>
</HEAD>
<BODY>
<?
/////////////E mais uma vez faltava colocar isto/////////////
$nome= $_POST['nome'];
$telefone=$_POST['telefone'];
////////////////////////////////////////////////////////////
//Conexão com a base
mysql_connect("localhost","root","");
//Criamos a sentença SQL y executamo-la
$sSQL="Delete From Clientes Where nome='$nome'";
mysql_db_query("exemplo",$sSQL);
?>
<h1><div align="center">Registo Apagado</div></h1>
<div align="center">
<a href="leitura.php">Visualizar o conteúdo da base</a>
</div>
</BODY>
</HTML>