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.
<?php
// variáveis para a conexão com o banco MySQL
$server = 'localhost';
$banco = 'nome_do_banco';
$user = 'usuario';
$senha = 'senha';
// conexão com o banco MySQL
mysql_connect($server, $user, $senha);
mysql_select_db($banco);
// query SQL
$query = "SELECT descricao, preco, quantidade FROM produtos WHERE id = 3";
// executa a query e 'grava' o resultado em $res
$res = mysql_query($query) or die(mysql_error());
// busca os campos da query
$campo = mysql_fetch_array($res);
// armazena cada campo do banco em uma variável
$desc = $campo["descricao"];
$preco = $campo["preco"];
$quant= $campo["quantidade"];
// exibe o resultado
echo "Descrição: ".$desc;
echo "Preço: ".$preco;
echo "Quantidade: ".$quant;
?>
Dessa forma, exibimos o resultado do item com Id 3.
Repare que, para buscar os campos dentro do banco de dados, usamos $campo = mysql_fetch_array($res), onde $res é a variável que retorna a query ($res = mysql_query($query);).
Após buscar os campos, armazenamos cada um em uma variável:
$desc = $campo["descricao"];
$preco = $campo["preco"];
$quant= $campo["quantidade"];
Depois, simplesmente exibimos.
E para exibir mais de um item?
Simples, vamos criar um laço for 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.
...
$query = "SELECT descricao, preco, quantidade FROM produtos WHERE id >= 1 AND id <=5";
// executa a query e 'grava' o resultado em $res
$res = mysql_query($query) or die(mysql_error());
// pega o número de linhas que a query retornou
$num_reg = mysql_num_rows($res);
// faz um loop de 0 até o numero de linhas encontradas
for($i=0;$i<$num_reg;$i++) {
// busca os campos da query
$campo = mysql_fetch_array($res);
// armazena cada campo do banco em uma variável
$desc = $campo["descricao"];
$preco = $campo["preco"];
$quant= $campo["quantidade"];
// exibe o resultado
echo "Descrição: ".$desc;
echo "Preço: ".$preco;
echo "Quantidade: ".$quant;
echo "---------------------";
}
?>
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.
<?php
// variáveis para a conexão com o banco MySQL
$server = 'localhost';
$banco = 'nome_do_banco';
$user = 'usuario';
$senha = 'senha';
// conexão com o banco MySQL
mysql_connect($server, $user, $senha);
mysql_select_db($banco);
// query SQL
$query = "SELECT descricao, preco, quantidade FROM produtos WHERE id = 3";
// executa a query e 'grava' o resultado em $res
$res = mysql_query($query) or die(mysql_error());
// busca os campos da query
$campo = mysql_fetch_array($res);
// armazena cada campo do banco em uma variável
$desc = $campo["descricao"];
$preco = $campo["preco"];
$quant= $campo["quantidade"];
// exibe o resultado
echo "Descrição: ".$desc;
echo "Preço: ".$preco;
echo "Quantidade: ".$quant;
?>
Dessa forma, exibimos o resultado do item com Id 3.
Repare que, para buscar os campos dentro do banco de dados, usamos $campo = mysql_fetch_array($res), onde $res é a variável que retorna a query ($res = mysql_query($query);).
Após buscar os campos, armazenamos cada um em uma variável:
$desc = $campo["descricao"];
$preco = $campo["preco"];
$quant= $campo["quantidade"];
Depois, simplesmente exibimos.
E para exibir mais de um item?
Simples, vamos criar um laço for 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.
...
$query = "SELECT descricao, preco, quantidade FROM produtos WHERE id >= 1 AND id <=5";
// executa a query e 'grava' o resultado em $res
$res = mysql_query($query) or die(mysql_error());
// pega o número de linhas que a query retornou
$num_reg = mysql_num_rows($res);
// faz um loop de 0 até o numero de linhas encontradas
for($i=0;$i<$num_reg;$i++) {
// busca os campos da query
$campo = mysql_fetch_array($res);
// armazena cada campo do banco em uma variável
$desc = $campo["descricao"];
$preco = $campo["preco"];
$quant= $campo["quantidade"];
// exibe o resultado
echo "Descrição: ".$desc;
echo "Preço: ".$preco;
echo "Quantidade: ".$quant;
echo "---------------------";
}
?>
Repare que a lógica é praticamente a mesma, a única diferença, é que, usamos mysql_num_rows($res) que pega o número de linhas que a query retornou.
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 = mysql_num_rows($res)).
Simples né? É isso aí galera, abraço, bons estudos e até a próxima.
mysql_fetch_array();
mysql_num_rows();
Bom código irei testa-lo
ResponderExcluir# 1366 - Incorrect integer value: '' for column 'id_destaque' at row 1
ResponderExcluirComo resolver este erro: # 1366 - Incorrect integer value: '' for column 'id_destaque' at row 1
ResponderExcluirComo resolver este erro: # 1366 - Incorrect integer value: '' for column 'id_destaque' at row 1
ResponderExcluir# 1366 - Incorrect integer value: '' for column 'id_destaque' at row 1
ResponderExcluirMy relatives all the time say that I am killing my time here at net, except I know I am getting experience everyday by reading such pleasant content.
ResponderExcluir