Como produzir saída em HTML a partir de uma tabela MySQL

Um relatório MySQL em formato HTML pode facilitar muito a exibição de resultados de consultas em uma página web. A solução pode poupar tempo precioso em um projeto de webdesign.
MySQL and HTML5 logos
Neste artigo vou mostrar como isto pode ser feito da maneira mais eficiente para entregar código HTML pronto para ser usado em uma página estática. Devo advertir que, se você deseja criar scripts que entreguem páginas dinâmicas em HTML, há maneiras mais eficientes de se fazer isto — o que torna esta solução, aqui, inadequada para este tipo de demanda.
O MySQL pode produzir a saída no formato de tabelas HTML com o uso da opção -H ou --html (à sua escolha).
Veja, abaixo, a diferença ente o formato tabular normal no MySQL e o formato de tabelas HTML provido pelo MySQL.

mysql -e "SELECT * FROM cliente WHERE conta=0" caixa
+------------+------+------+
| nome       | conta|  id  |
+------------+------+------+
| Antonio    |0     |10    |
| Osvaldo    |0     |8     |
| Socrate    |0     |0     |
| Arthur     |0     |1     |
+------------+------+------+
mysql -H -e "SELECT * FROM cliente WHERE conta=0" caixa
<TABLE BORDER=1><TR><TH>nome</TH><TH>conta</TH><TH>id</TH></TR>
<TR><TD>Antonio</TD><TD>0</TD><TD>10</TD></TR>
<TR><TD>Osvaldo</TD><TD>0</TD><TD>8</TD></TR>
<TR><TD>Socrates</TD><TD>0</TD><TD>0</TD></TR>
<TR><TD>Arthur</TD><TD>0</TD><TD>1</TD></TR>
</TABLE>

* Texto colorido para melhorar a legibilidade. O resultado no cliente MySQL é monocromático.
Você não pode obter saídas em HTML a partir dos resultados das queries obtidas com UPDATE ou INSERT, uma vez que não geram saída de resultados em tabelas.

Como obter a saída de resultados MySQL em XML

Com a variante -X é possível resolver este problema. Veja:

mysql -X -e "SELECT * FROM cliente WHERE conta=0" caixa
<?xml version="1.0"?>
<resultset statement="SELECT * FROM cliente WHERE conta=0">
<row>
<thing>Antonio</thing>
<legs>0</legs>
<arms>10</arms>
</row>
<row>
<thing>Osvaldo</thing>
<legs>0</legs>
<arms>8</arms>
</row>
<row>
<thing>Socrates</thing>
<legs>0</legs>
<arms>0</arms>
</row>
<row>
<thing>Arthur</thing>
<legs>0</legs>
<arms>1</arms>
</row>
</resultset>

* Texto colorido para melhorar a legibilidade. O resultado no cliente MySQL é monocromático.
Você pode usar tanto a opção -X como --xml — opte pelo que for mais adequado para você.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *