Afficher les tables et les champs d'une base de donnée
A partir d'un script php, de nombreuses données sont retournées à partir d'une base de données MySQL:- mysql_list_dbs: noms des bases de données,
- mysql_list_tables: noms des tables contenues dans une base de données,
- une requete SHOW COLUMNS: définition des champs d'une table.
<?php
//Variable - à remplacer par vos identifiants
$host='mysql_server';
$user='username';
$pass='password';
$db='myDB';
//Connecter à la DB
$link=mysql_connect($host, $user, $pass);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
/**
* Lister les bases de données
*/
$rs_dblist = mysql_list_dbs($link);
$dblist=Array();
echo "Base de donnees sur: ".$host.'<br>';
while ($row = mysql_fetch_object($rs_dblist)) {
array_push($dblist, $row->Database);
echo $row->Database."<br>";
}
/**
* Lister les tables contenues dans une base de données
*/
$rs_tblist = mysql_list_tables($dblist[1], $link);
$tblist=Array();
echo "<br>Tables dans la DB: ".$dblist[1].'<br>';
while ($row = mysql_fetch_row($rs_tblist)) {
array_push($tblist, $row[0]);
echo $row[0]."<br>";
}
/**
* Lister le nom des colonnes d'une table
*/
$rs_collist = mysql_query("SHOW COLUMNS FROM ".$tblist[0]);
echo "<br>Champs dans la table: ".$tblist[0].'<br>';
while ($row = mysql_fetch_assoc($rs_collist)) {
echo $row['Field'].', '.$row['Type']."<br>";
}
mysql_close($link);
Ce script PHP permet de se construire une application de type PhpMyAdmin pour gérer ses bases de données. En effet sans connaitre la structure et les champs d'une table, le script s'adapte à toutes les bases de données.