Selecção e leitura de registos
Dentro de uma base de dados, organizada por tabelas, a selecção de uma tabela inteira ou de um certo número de registos tornar-se-á uma operação habitual.
Aqui mostramos uma forma bastante clássica de mostrar pelo ecrã os registos seleccionados por uma sentença SQL através de um loop:
<HTML>
<HEAD>
<TITLE>leitura.php</TITLE>
</HEAD>
<BODY>
<h1><div align="center">Leitura da tabela</div></h1>
<br>
<br>
<?
//Ligação com a base
mysql_connect("localhost","user","password");
//Executamos a sentença SQL
$result=mysql_db_query("exemplo","select * from clientes");
?>
<table align="center">
<tr>
<th>Nome</th>
<th>Telefone</th>
</tr>
<?
//Mostramos os registos
while ($row=mysql_fetch_array($result))
{
echo '<tr><td>'.$row["nome"].'</td>';
echo '<td>'.$row["telefone"].'</td></tr>';
}
mysql_free_result($result)
?>
</table><div align="center">
<a href="inserir.html">Acrescentar um novo registo</a><br>
<a href="actualizar1.php">Actualizar um registro existente</a><br>
<a href="apagar1.php">Apagar um registro</a><br>
</div>
</BODY>
</HTML>
Executar script
Os passos a realizar são, em princípio, os vistos para a inserção de um registo: Conexão à base de dados e execução da sentença. Esta vez, a informação da execução será armazenada numa variável ($result).
O que fazemos a seguir é visualizar no ecrã a informação recolhida em $result. Faremos isto mediante a função mysql_fetch_array que retorna uma variável array com os conteúdos de um registo ao mesmo tempo que se posiciona sobre o seguinte. O loop while permite-nos ler e imprimir sequencialmente cada um dos registos.
A função mysql_free_results encarrega-se de liberar a memória utilizada para executar a consulta. Ainda que não seja necessária a sua utilização, é altamente aconselhável.