Exibindo resultados de uma consulta MySQL com PHP

Publicado por EVERTON DA ROSA em 18/08/2009

[ Hits: 19.713 ]

Blog: http://everton3x.github.io

 


Exibindo resultados de uma consulta MySQL com PHP



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.

Outras dicas deste autor

PHPClasses.org

Revista Espírito Livre

Crie sua própria classe Javascript

Como configurar um favicon

Gerador de relatórios Agata Report

Leitura recomendada

Configuração de servidor DHCP no Ubuntu Server 17.04

Vídeo-aulas gratuitas para iniciantes

Yaala - Yet Another Advanced Log Analyzer

O que é samba

Corrigindo 'bug' em placa de Vídeo NVIDIA: segundo monitor não aparece disponível no Ubuntu 11.10

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts