Exibindo resultados de uma consulta MySQL com PHP

Publicado por EVERTON DA ROSA em 18/08/2009

[ Hits: 19.685 ]

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

Codepress: editor online com destaque de sintaxe e muito mais

txt2tags - convertendo texto em notações especiais

ComunidadeWeb: site com vídeo-aulas

Crie sua própria classe Javascript

Gerador de relatórios Agata Report

Leitura recomendada

Problemas gráficos no Gnome Shell com placa gráfica Mobile Intel GM45 Express Chipset (Dell Inspiron 1545)

Curso básico de Ubuntu Desktop Linux Mint e GNS3

Iniciando na linguagem Perl

Configurando VLANs no GNU/Linux

Netflix no Metamorphose Linux

  

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