Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Programador de Araque

[Resolvido] Listando Tabelas MySQL+PHP

Recommended Posts

Olá!

 

Preciso listar minhas tabelas e seus respectivos campos. Consegui listar as tabelas, porém não tenho idéia de como listar os campos delas..

Esse é o meu código:

 

<?php
$nome = "nome_do_banco_de_dados";
$link = mysql_connect("localhost","root","");
$resultado_tabelas = mysql_list_tables($nome);
$qntd_tabelas = @mysql_numrows($resultado_tabelas);
print "Tabelas do Banco <b><i>".$nome."</i></b><ul>";
if($qntd_tabelas == 0){
print "<li>Nenhuma tabela foi encontrada neste banco de bados</li>";
}
for ($i = 0; $i < $qntd_tabelas; $i++)
{
print "<li><b>".mysql_tablename($resultado_tabelas, $i)."</b></li>";
}
print "</ul>";
mysql_close($link);
?> 

 

Me ajudem aee, por favoor....

Compartilhar este post


Link para o post
Compartilhar em outros sites

um pequeno erro de sintaxe aqui

$qntd_tabelas = @mysql_numrows($resultado_tabelas);

muda para

$qntd_tabelas = mysql_num_rows($resultado_tabelas);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para listar os campos de uma tabela a query é: SHOW COLUMNS FROM 'table_name'

http://dev.mysql.com/doc/refman/5.6/en/show-columns.html

 

E como eu faço pra passar isso no PHP?

A query vai ficar da seguinte forma:

 

mysql_query("SHOW COLUMNS FROM `$tabela`");

 

Mas como eu listo isso no HTML?

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = mysql_query("SHOW COLUMNS FROM `$tabela`");

while ($result = mysql_fetch_array($sql)) {
  echo $result["Field"] . "<br>" . PHP_EOL;
}

 

Pode ser facilmente adaptado para usar tabelas, etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

de uma forma diferente

<?php
$nome = "nome_do_banco_de_dados";//nome do banco
$link = mysql_connect("localhost","root","")or die(mysql_error());//conecta ao servidor
$banco = mysql_select_db($nome) or die(mysql_error());//seleciona o banco
$tabela = mysql_query("SHOW TABLES") or die(mysql_error());//pega as tabelas
print "Tabelas do Banco <b><i>".$nome."</i></b><ul>";//imprime o banco
while($tabelas = mysql_fetch_array($tabela)){//enquanto houver tabela
printf("<li><b>%s</b></li>",$tabelas[0]);//imprime a tabela
$coluna = mysql_query("SHOW FIELDS FROM {$tabelas[0]}") or die(mysql_error());//seleciona as colunas da tabela
while($colunas = mysql_fetch_array($coluna))//enquanto houver coluna
	printf("<br>%s",$colunas[0]);//imprime a coluna
}
print "</ul>";
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

de uma forma diferente

<?php
$nome = "nome_do_banco_de_dados";//nome do banco
$link = mysql_connect("localhost","root","")or die(mysql_error());//conecta ao servidor
$banco = mysql_select_db($nome) or die(mysql_error());//seleciona o banco
$tabela = mysql_query("SHOW TABLES") or die(mysql_error());//pega as tabelas
print "Tabelas do Banco <b><i>".$nome."</i></b><ul>";//imprime o banco
while($tabelas = mysql_fetch_array($tabela)){//enquanto houver tabela
printf("<li><b>%s</b></li>",$tabelas[0]);//imprime a tabela
$coluna = mysql_query("SHOW FIELDS FROM {$tabelas[0]}") or die(mysql_error());//seleciona as colunas da tabela
while($colunas = mysql_fetch_array($coluna))//enquanto houver coluna
	printf("<br>%s",$colunas[0]);//imprime a coluna
}
print "</ul>";
?> 

 

 

Funcionou! Valeu parceiro!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.