Neste pequeno passo-a-passo vamos aprender a exibir o resultado de uma consulta a banco de dados MySQL em uma tabela HTML com a utilização do PHP.
Como pré-requisito, é necessário saber como realizar consultas ao MySQL. Para aprender você pode ler este
passo-a-passo.
Também vamos precisar de um servidor web com suporte a PHP e de um servidor MySQL. Recomendo o
XAMPP.
Primeiramente vamos fazer a conexão com o banco de dados e a consulta ao MySQL.
//Conexão e consulta ao MySQL
mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('mysql') or die(mysql_error());
$qry = mysql_query("select Name as Nome, Time_zone_id as Codigo from time_zone_name");
Para fins didáticos, estou usando a tabela time_zone_name do banco de dados MySQL, que vem por padrão no XAMPP, mas você pode utilizar qualquer outra consulta.
Agora vamos precisar saber quais campos foram retornados na consulta. Como o PHP não tem uma função para isso, precisamos usar um laço for() em conjunto com as funções
mysql_num_fields() e
mysql_field_name().
A função mysql_num_fields() retorna o número de campos de um resultado, enquanto que mysql_field_name retorna o nome de um campo determinado da consulta.
//Pegando os nomes dos campos
$num_fields = mysql_num_fields($qry); //Obtém o número de campos do resultado
for($i = 0; $i < $num_fields; $i++){ //Pega o nome dos campos
$fields[] = mysql_field_name($qry,$i);
}
O que o código acima faz é pegar cada nome de campo e colocar no array $fields.
Depois, vamos montar o cabeçalho da tabela.
//Montando o cabeçalho da tabela
$table = '';
for($i = 0; $i < $num_fields; $i++){
$table .= '';
}
Como você pode ver, utilizamos outro laço for() para montar o cabeçalho da tabela. Aqui nós colocamos cada nome de campo dentro de uma tag TH (de cabeçalho de tabela).
Vamos enfim, montar o corpo da tabela, agora combinando um outro laço for() dentro de um while().
//Montando o corpo da tabela
$table .= '';
while($r = mysql_fetch_array($qry)){
$table .= '';
for($i = 0;$i < $num_fields; $i++){
$table .= '';
}
$table .= '';
}
O que fazemos nesta parte é pegar cada linha de resultado (como é feito normalmente com while()) e dentro de cada linha pegar cada campo com o for() e colocar na tabela.
Depois é só finalizar a tabela.
//Finalizando a tabela
$table .= '<table border="1"><tbody><tr><th>' . $fields[$i] . '</th></tr></tbody><tbody><tr><td>' . $r[$fields[$i]] . '</td></tr></tbody></table>';
//Imprimindo a tabela
echo $table;
E está pronta a nossa tabela.
Evidentemente que é uma tabela simples, mas você pode personalizá-la à vontade editando o código.
Nenhum comentário foi encontrado.