Soyez le premier à donner votre avis sur cette source.
Snippet vu 30 003 fois - Téléchargée 35 fois
<html> <head> <title>Taille Base de données MySQL</title> </head> <body> <?php function file_size_info($filesize) { $bytes = array('Octets', 'Ko', 'Mo', 'Go', 'To'); if ($filesize < 1024) $filesize = 1; for ($i = 0; $filesize > 1024; $i++) $filesize /= 1024; $file_size_info['size'] = ceil($filesize); $file_size_info['type'] = $bytes[$i]; return $file_size_info; } $db_server = 'localhost'; $db_user = 'root'; $db_pwd = 'pwd'; $db_name = 'bdd'; $db_link = mysql_connect($db_server, $db_user, $db_pwd) or exit('Could not connect: ' . mysql_error()); $db = mysql_select_db($db_name, $db_link) or exit('Could not select database: ' . mysql_error()); // Déterminer le nombre d'enregistrements et la taille de la base de données en additionnant la taille de la table + la taille de l'index : $rows = mysql_query("SHOW TABLE STATUS"); $dbSize = 0; $dbrows = 0; while ($row = mysql_fetch_array($rows)) { $dbSize += $row['Data_length'] + $row['Index_length']; $dbrows += $row['Rows']; } $dbSizeKo = file_size_info($dbSize); print "Taille de la base de données : {$dbSizeKo['size']} {$dbSizeKo['type']} ($dbSize octets)<br />"; print "Nombre d'enregistrements : $dbrows enregistrements<br />"; ?> </body> </html>
26 juil. 2010 à 22:53
29 avril 2008 à 14:14
Cette fonction marche pas mal du tout et rendra quelque chose d'exact.
function size_readable($size, $retstring = null)
{
$sizes = array('o', 'Ko', 'Mo', 'Go', 'To', 'Po', 'Eo', 'Zo', 'Yo'); if ($retstring null) { $retstring '%01.2f %s'; }
$lastsizestring = end($sizes);
foreach ($sizes as $sizestring)
{
if ($size < 1024) { break; }
if ($sizestring != $lastsizestring) { $size /= 1024; }
}
if ($sizestring $sizes[0]) { $retstring '%01d %s'; } // Bytes ne sont pas fractionnaire normalement ...
return sprintf($retstring, $size, $sizestring);
}
Du coup, le code devient :
$rows = mysql_query("SHOW TABLE STATUS");
$dbSize = 0;
$dbrows = 0;
while ($row = mysql_fetch_array($rows))
{
$dbSize += $row['Data_length'] + $row['Index_length'];
$dbrows += $row['Rows'];
}
echo 'Taille de la base de données : '.size_readable($dbSize).' ('.$dbSize.' octets)
';
echo 'Nombre d\'enregistrements : '.$dbrows.' enregistrements
';
Cdt.
Sky
9 janv. 2008 à 10:51
28 sept. 2007 à 21:42
------------------------
query="SELECT COUNT(*) FROM MA_TABLE";
mon problème est comment mettre le resultat de cette requete dans une variable entière pour que je puisse l'utiliser dans une boucle for.
je veux la reponse le plus vite possible
et merci d'avance
--------------------------------
$query = "SELECT COUNT(*) as total FROM MA_TABLE";
$res = mysql_query( $query )
$row = mysql_fetch_object( $res )
$total = $row->total;
10 sept. 2006 à 02:05
Une petite modification s'impose au niveau de la fonction file_size_info :
function file_size_info($filesize)
{
$bytes = array('Octets', 'Ko', 'Mo', 'Go', 'To');
if ($filesize < 1024) $filesize = 1;
for ($i = 0; $filesize > 1024; $i++)
$filesize /= 1024;
$file_size_info['size'] = floor($filesize);
$file_size_info['deci'] = ceil(($filesize*1000)-(floor($filesize)*1000));
$file_size_info['type'] = $bytes[$i];
$file_size_info['type2'] = $bytes[$i-1];
return $file_size_info;
}
et pour l'affichage :
print "Taille de la base de données : {$dbSizeKo['size']} {$dbSizeKo['type']} et {$dbSizeKo['deci']} {$dbSizeKo['type2']} ($dbSize octets)
";
J'espère que c'est le résultat que tu cherches.
Bonne continuation.
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.