• 2018-12-01 121211
  • 2018-11-24 163752
  • 2018-12-06 191523
  • 2018-11-28 151134
  • 2018-11-16 084045
  • 2018-11-24 163743
  • 2018-11-22 145009
  • 2018-12-05 175943

Script

Qui puoi ricercare e trovare alcuni Script che ho voluto pubblicare per condividerli con voi.

Tabelle html con struttura tabelle mysql




Prendo spunto dall'articolo trovato qui.
Lo script che vi presento oggi può esservi utile per ottenere lo schema di tutte le vostre tabelle Mysql in una pagina HTML. IL risultato è davvero soddisfacente. Date un'occhiata all'immagine allegata per capire di cosa sto parlando.

Per prima cosa un po di CSS

table.db-table         { border-right:1px solid #ccc; border-bottom:1px solid #ccc; }
table.db-table th    { background:#eee; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; font-size:12px; }
table.db-table td    { padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; font-size:12px; }
h3                { font-size:170%; color:#3b5998; padding:0 0 0 3px; }

e poi soprattutto il piccolo Script in Mysql, che utilizzando funzioni native del MYSQL, ci fa ottenere l'effetto desiderato

/* connessione al db */
$connection = mysql_connect('localhost','user','password');
mysql_select_db('pommo',$connection);

/* SHOW TABLES */
$result = mysql_query('SHOW TABLES',$connection) or die('cannot show tables');
while($tableName = mysql_fetch_row($result))
{
    $table = $tableName[0];
    
    echo '<h3>',$table,'</h3>';
    $result2 = mysql_query('SHOW COLUMNS FROM '.$table) or die('cannot show columns from '.$table);
    $ris="";
    if(mysql_num_rows($result2))
    {
        while($row2 = mysql_fetch_row($result2))
        {
            $ris.= '<tr>';
            foreach($row2 as $key=>$value)
            {
                $ris.= "<td>" . $value . "</td>";
            }
            $ris.= '</tr>';
        }
        echo '<table class="db-table" cellpadding="0" cellspacing="0"><tbody><tr><th>Field</th><th>Type</th><th>Null</th><th>Key</th><th>Default</th><th>Extra</th></tr>';
        echo $ris;
        echo '</tbody></table><br>';
    }
}

Il primo passo è l'accesso di tutte le tabelle all'interno del database a cui è stata effettuata la connessione. Una volta che tutte le tabelle sono stati scaricate e salvate nell'array $result, il passo successivo è quello di lciclare l'array di tabelle ottenuto e, per ogni tabella, costruire una nuova tabella HTML con le informazioni sulla colonna e sui tipi di dato.

 

 

SCRIPT n.2

In passato anche io sviluppai un qualcosa scrissi uno script molto simile, ma più completo in alcune parti per ottenere informazioni dal server Mysql. NOn ho rivisitato a dovere lo script, scritto ormai almeno 5 anni fa, e ve lo ripropongo così com'era.

<strong>CONNESSIONI SUL SERVER</strong>
&
lt;?php
mysql_connect("localhost","user","password");
$processes = mysql_list_processes();
echo "<table cellpadding='10'>";

echo "<tr><th>ID</th><th>User</th><th>Host</th><th>DB</th>
<th>Command</th><th>Time</th><th>State</th><th>Info</th>
</tr>";

while ($row = mysql_fetch_row($processes))
{
    list($id,$user,$host,$db,$command,$time,$state,$info) = $row;
    echo "<tr><td>$id</td><td>$user</td>
    <td>$host</td><td>$db</td><td>$command</td>
    <td>$time</td><td>$state</td><td>$info</td>
    </tr>";
}

echo "</table>";

?>
<br><br>
<strong>INFORMAZIONI SERVER MYSQL</strong>
<?php
    echo "<br>" . mysql_get_server_info();
?>

<br><br>
<strong>INFORMAZIONI HOST</strong>
<?php
    echo "<br>" . mysql_get_host_info();
?>

<br><br>
<strong>INFORMAZIONI CLIENT</strong>
<?php
    echo "<br>" . mysql_get_client_info();
?>

<br><br>
<strong>ALL STATUS</strong>
<br>
<?php
$status = explode(' ', mysql_stat());
foreach($status as $value) echo $value."<br />";
?>

<br><br>
<strong>LISTA DATABASE DEL SERVER E RELATIVE TABELLE</strong>
<br>
<?php
$dbs = mysql_list_dbs();
//CICLO DATABASE DEL SERVER
while (list($db) = mysql_fetch_row($dbs))
{
    echo "<strong><font size='4'>$db</font></strong> <br />";
    //CICLO LE TABELLE DEL DATABASE
    $tables = mysql_query("SHOW TABLES FROM $db");
    while (list($table) = mysql_fetch_row($tables))
    {
        echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>$table</strong> <br />";
        
        $campi = mysql_list_fields($db, $table);
        $colonne = mysql_num_fields($campi);
        for ($i = 0; $i < $colonne; $i++)
        {
            echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" . mysql_field_name($campi, $i) . " (<strong>TYPE</strong>:" . mysql_field_type($campi, $i) . "- <strong>ATTR</strong>:" . mysql_field_flags($campi, $i) . " -<strong>LEN</strong>:" . mysql_field_len($campi, $i) . ")<br>";
        } 
    }
}
?>

In particolare l'ultima parte delllo script ottiene informazioni simili (ma meno complete del primo Script), mentre inizialmente abbiamo informazioni aggiuntive come le connessioni attualmente attive sul server, la versione del server Mysql, Informazioni sull'Host, informazioni sul Client, seguiti dall'elenco si tutti i database, con relative tabelle e struttura.