Camembert bd

Soyez le premier à donner votre avis sur cette source.

Vue 8 552 fois - Téléchargée 990 fois

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

Ajouter un commentaire

Commentaires

Messages postés
9
Date d'inscription
dimanche 2 mai 2010
Statut
Membre
Dernière intervention
24 avril 2012

Je confirme simple mais efficace merci bcp
Messages postés
21
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
6 juin 2011

Bonjour et merci pour ce source ! Simple mais efficace. =)

Je n'ai pas possibilité de le tester pour le moment mais cela me donne l'idée, avec quelques légères modifications, de pouvoir me permettre d'ajouter une petite option coté section admin, d'afficher les sous-section les plus utilisées d'un forum par exemple.

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.