Exibindo resultados de uma consulta MySQL com PHP

Publicado por EVERTON DA ROSA em 18/08/2009

[ Hits: 18.096 ]

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

Utilizando o loop FOR em PHP

Extensões do FireFox para se ter no dia-a-dia

Crie sua própria classe Javascript

ComunidadeWeb: site com vídeo-aulas

Codepress: editor online com destaque de sintaxe e muito mais

Leitura recomendada

10 conceitos básicos de segurança em um servidor

NeoGeo no Linux

Linux no Dell Optiplex 320

Instalando o XFCE no Debian 5.0 (Lenny) em modo texto

Instalando o Sarg no Ubuntu Server 8.04

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts