Recuperando dados com PHP
Autor: Programador Online | Publicado: 2012-12-22T02:34:00-08:00

Estamos de volta! (:
Nesse artigo, estarei mostrando como é possível recuperar registros do banco de dados com PHP. Essa tarefa consiste em pegar os registros já gravados no banco e exibi-los novamente.
Suponhamos uma tabela de produtos com três campos: "Id, Descrição, Preço e Quantidade". Vamos recuperar o registro que possui o Id de número 3.

&lt;?php


&nbsp;&nbsp;&nbsp;&nbsp;// variáveis para a conexão com o banco MySQL
&nbsp; &nbsp; $server = 'localhost';
&nbsp;&nbsp;&nbsp;&nbsp;$banco = 'nome_do_banco';
&nbsp;&nbsp;&nbsp;&nbsp;$user = 'usuario';
&nbsp;&nbsp;&nbsp;&nbsp;$senha = 'senha';
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; // conexão com o banco MySQL
&nbsp;&nbsp;&nbsp;&nbsp;mysql_connect($server, $user, $senha);
&nbsp;&nbsp;&nbsp;&nbsp;mysql_select_db($banco);
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; // query SQL
&nbsp;&nbsp;&nbsp;&nbsp;$query = "SELECT descricao, preco, quantidade FROM produtos WHERE id = 3";
&nbsp; &nbsp; // executa a query e 'grava' o resultado em $res
&nbsp;&nbsp;&nbsp;&nbsp;$res = mysql_query($query) or die(mysql_error());

&nbsp; &nbsp; // busca os campos da query
&nbsp;&nbsp;&nbsp;&nbsp;$campo = mysql_fetch_array($res);
&nbsp; &nbsp; // armazena cada campo do banco em uma variável
&nbsp;&nbsp;&nbsp;&nbsp;$desc = $campo["descricao"];
&nbsp;&nbsp;&nbsp;&nbsp;$preco = $campo["preco"];
&nbsp;&nbsp;&nbsp;&nbsp;$quant= $campo["quantidade"];

&nbsp; &nbsp; // exibe o resultado
&nbsp; &nbsp; echo "Descrição: ".$desc;
&nbsp; &nbsp; echo "Preço: ".$preco;
&nbsp; &nbsp; echo "Quantidade: ".$quant; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
?&gt;

Dessa forma, exibimos o resultado do item com Id 3.
Repare que, para buscar os campos dentro do banco de dados, usamos $campo =&nbsp;mysql_fetch_array($res),&nbsp;onde $res&nbsp;é a variável que retorna a query ($res = mysql_query($query);).
Após buscar os campos, armazenamos cada um em uma variável:

$desc&nbsp;=&nbsp;$campo["descricao"];
$preco&nbsp;=&nbsp;$campo["preco"];
$quant=&nbsp;$campo["quantidade"];

Depois, simplesmente exibimos.

E para exibir mais de um item?

Simples, vamos criar um laço for&nbsp;que vá de 0 até o número de registros encontrados na query. Vamos lá.
Considere que a conexão com o banco já foi feita. Vamos selecionar os registros de 1 a 5....
&nbsp; &nbsp;&nbsp;$query&nbsp;=&nbsp;"SELECT descricao, preco, quantidade FROM produtos WHERE id &gt;= 1 AND id &lt;=5";
&nbsp; &nbsp;&nbsp;// executa a query e 'grava' o resultado em $res
&nbsp;&nbsp;&nbsp;&nbsp;$res&nbsp;=&nbsp;mysql_query($query)&nbsp;or&nbsp;die(mysql_error());
&nbsp; &nbsp; // pega o número de linhas que a query retornou
&nbsp; &nbsp; $num_reg&nbsp;=&nbsp;mysql_num_rows($res);

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;// faz um loop de 0 até o numero de linhas encontradas
&nbsp; &nbsp; for($i=0;$i&lt;$num_reg;$i++) {
&nbsp; &nbsp; &nbsp; &nbsp;// busca os campos da query
&nbsp; &nbsp; &nbsp; &nbsp;$campo&nbsp;=&nbsp;mysql_fetch_array($res);
&nbsp; &nbsp; &nbsp; &nbsp;// armazena cada campo do banco em uma variável
&nbsp; &nbsp; &nbsp; &nbsp;$desc&nbsp;=&nbsp;$campo["descricao"];
&nbsp; &nbsp; &nbsp; &nbsp;$preco&nbsp;=&nbsp;$campo["preco"];
&nbsp; &nbsp; &nbsp; &nbsp;$quant=&nbsp;$campo["quantidade"];

&nbsp; &nbsp; &nbsp; &nbsp;// exibe o resultado
&nbsp; &nbsp; &nbsp; &nbsp;echo&nbsp;"Descrição: ".$desc;
&nbsp; &nbsp; &nbsp; &nbsp;echo&nbsp;"Preço: ".$preco;
&nbsp; &nbsp; &nbsp; &nbsp;echo&nbsp;"Quantidade: ".$quant;
&nbsp; &nbsp; &nbsp; &nbsp;echo "---------------------"; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
&nbsp; &nbsp; }
?&gt;



Repare que a lógica é praticamente a mesma, a única diferença, é que, usamos mysql_num_rows($res)&nbsp;que pega o número de linhas que a query retornou.&nbsp;

A partir daí, usamos ela para fazer o loop, que vai de 0 até a variável que armazena as linhas da query ($num_reg =&nbsp;mysql_num_rows($res)).



Simples né? É isso aí galera, abraço, bons estudos e até a próxima.



mysql_fetch_array();

http://php.net/manual/en/function.mysql-fetch-array.php



mysql_num_rows();

http://php.net/manual/en/function.mysql-num-rows.php