Camembert bd

Description

Affiche un graphique de type camembert représentant l'occupation (en octets) de l'espace utilisé par chacune des tables présentes dans votre base de données.

La partie graphique est réalisée à l'aide d'un outil Google Chart.

N'oubliez pas de modifier les constantes afin que le script puisse se connecter à votre BD et également la constante concernant le taille maximum de votre BD en Mo (TAILLE_MAX_BD_Mo).

Source / Exemple :


<?php

  # Affiche un graphique représentant l'occupation (en octets) de l'espace
  # utilisé par les différentes tables présentes dans votre base de données

  define("bd_Host" ,"localhost"       ); # A modifier
  define("bd_Login","root"            ); # A modifier
  define("bd_Pass" ,""                ); # A modifier
  define("bd_Base" ,"igps_client"     ); # A modifier
  
  define("TAILLE_MAX_BD_Mo",1); // <= taille maxi de votre BD en Mo : A modifier
  define("TAILLE_MAX_BD_o",TAILLE_MAX_BD_Mo*1024*1024); // en octets (ne pas modifier)
  
  // CONNEXION MySQL
  $mysql_link=mysql_connect(bd_Host, bd_Login, bd_Pass);
  if ( !$mysql_link ) die("ECHEC : Impossible de se connecter à MySQL.");
  mysql_select_db(bd_Base) or die("ECHEC : Impossible d'ouvrir la base ".bd_Base);
  // REQUETE
  $rows = mysql_query("SHOW TABLE STATUS");
  $dbSize = 0;
  $countrows = 0;
  $html='';
  // Création des champs du graphique
  while ($row = mysql_fetch_array($rows))
  {
    $html.="data.setValue(".$countrows.", 0, '".$row['Name']."'); data.setValue(".$countrows.", 1, ".($row['Data_length'] + $row['Index_length'])."); ";
    $dbSize += $row['Data_length'] + $row['Index_length'];
    $countrows++;
  }
  // Espace libre
  $html.="data.setValue(".$countrows.", 0, 'espace libre');data.setValue(".$countrows.", 1, ".(TAILLE_MAX_BD_o-$dbSize).");";
  $countrows++;
 
?>

<html>
  <head>

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    
    <script type="text/javascript">

      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      
      function drawChart()
      {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'table');
        data.addColumn('number', 'octets');
        data.addRows(<?php echo $countrows ?>);
        <?php echo $html ?>
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, { width: 500, height: 300, title: 'Espace de stockage : <?php echo TAILLE_MAX_BD_Mo ?>Mo', is3D:true });
      }
    
    </script>
  
  </head>

  <body>
   <center><div id="chart_div"></div></center>
  </body>

</html>

Conclusion :


J'ai fait se script pour mon site (http://www.rdelectronique.fr) consacré à la géolocalisation. J'avais besoin de connaitre l'espace occupé par les positions géographiques enregistrées dans ma BD.

A+

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.