NOTÍCIA

Leitura de tabela MySQL dinâmica

Esse artigo tem o objetivo de desenvolver uma melhor
lógica em um programador PHPPHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) e mostrar-lhe que às
vezes as coisas são mais dinâmicas do que parecem.
Nas demonstrações abaixo mostrarei como ler uma
tabela em MySQLMySQL8 conteúdosMySQL + Adminer + Docker Compose: montando rapidamente um ambiente para usoData · abr 2019Banco de dados MYSQL no PHPStormDev (Back & Front) · jul 2019Criando um ambiente de desenvolvimento PHP mínimo com Docker – Parte 3Dev (Back & Front) · out 2019Ver tudo em Data sem precisar saber nomes de campos, sendo somente
necessário a tabela e o banco. Criaremos uma tabela bem
básica, somente como exemplo:

CREATE TABLE teste (
id int(6) unsigned NOT NULL auto_increment,
nome varchar(200) NULL,
email varchar(100) NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

Pronto. Nossa pequena tabela está criada.
Agora, iremos usar um script PHP para exibir informações
sobre a mesma.

<?

   $conn = mysql_connect("localhost","usuario","senha")
or die("erro ao conectar!");
   $db = mysql_select_db("exemplos");
   $query = mysql_query("Select * from teste")
or die("erro na query");

   $nome_campo
= array();

   $i = 0;
   while ($i < mysql_num_fields($query)) {
     $campo = mysql_fetch_field($query,$i);
     if (!$campo) { echo "Não
existem informações para este campo!"; }

    
//mostrando dados do campo

     echo "Dados do campo <B>".$campo->name."</B><br>
           Blob:
".$campo->blob."<BR>
           Tamanho
máximo: ".$campo->max_length."<BR>
           Primeira
chave: ".$campo->primary_key."<BR>
           Unica
chave: ".$campo->unique_key."<BR>
           Multiplas
chaves: ".$campo->multiple_key."<BR>
           Nulo não
permitido: ".$campo->not_null."<BR>
           Numérico:
".$campo->numeric."<BR>
           Tipo:
".$campo->type."<BR>
           Preenchido
com zero: ".$campo->zerofill."<BR>
           Unsigned:
".$campo->unsigned."<BR>";

      $nome_campo[$i] = $campo->name;

      $i++;
   }

?>

No script acima foi desenvolvido um meio dinâmico
aonde você, apenas trocando o nome da tabela do seu banco
de dados, estará vendo todos os campos e suas respectivas
informações.

Continuando o script logo abaixo, estaremos listando
os dados dessa tabela escolhida, aonde você poderá
utilizar esse script com qualquer tabela. Se você desenvolver
um script baseado nesse, mas com edição, adição
e exclusão de dados, tornaria facíl e dinâmico
desenvolver um site aonde todas as vezes têm que se desenvolver
novos scripts para trabalhar com os dados de um banco.

<?

   // continuando o codigo acima, aonde nos armazenamos
em uma variaval (nome_campo) os nomes dos campos para podermos
mostrar os dados

   while ($info = mysql_fetch_array($query)) {
     for ($x=0;$x<mysql_num_fields($query);$x++)
{
        echo $nome_campo[$x]."
-> ".$info[$nome_campo[$x]]."<BR>";
     }
   }

?>

Pronto. Um exemplo bem básico mas de onde
podemos desenvolver muitas novas idéias. Valeu e espero
que tenham gostado! Dúvidas? brunofuster@msn.com.

Matérias especiais e reportagens conduzidas internamente pela Redação iMasters. Acompanhe no Twitter @imasters e no Instagram/Threads @portalimasters

Ver perfil