Maison >développement back-end >tutoriel php >PHP MySQL compte le nombre d'enregistrements dans chaque table de la bibliothèque et les classe par ordre décroissant

PHP MySQL compte le nombre d'enregistrements dans chaque table de la bibliothèque et les classe par ordre décroissant

高洛峰
高洛峰original
2017-01-14 13:35:001035parcourir

L'exemple de cet article décrit comment PHP MySQL compte le nombre d'enregistrements dans chaque table de la bibliothèque et les classe par ordre décroissant. Partagez-le avec tout le monde pour référence, comme suit :

Il s'agit d'un code simple qui peut compter le nombre d'enregistrements dans chaque table de la base de données et les classer par ordre décroissant

$host = '127.0.0.1';
$port = 3306;
$dbname = 'test';
$username = 'root';
$password = '';
function ee($p)
{
  if(PHP_SAPI == 'cli')
  {
    echo "\n";
  }else{
    echo "<pre class="brush:php;toolbar:false">";
  }
  print_r($p);
  if(PHP_SAPI == &#39;cli&#39;)
  {
    echo "\n";
  }else{
    echo "<pre class="brush:php;toolbar:false">";
  }
}
$dsn = "mysql:host={$host};port={$port};dbname={$dbname}";
$opts = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION, PDO::ATTR_AUTOCOMMIT=>0);
try {
  $pdo = new PDO($dsn, $username, $password, $opts);
}catch(PDOException $e){
  echo $e->getMessage();
}
//有查询结果
function query($sql)
{
  global $pdo;
  $stmt = $pdo->query($sql);
  $data = $stmt->fetchAll(Pdo::FETCH_BOTH);
  return $data;
}
//无查询结果
function execute($sql)
{
  global $pdo;
  $affect_rows = $pdo->query($sql);
  return $affect_rows;//影响条数
}
$tables = query("show tables");
$sort_data = array();
foreach($tables as $table)
{
  //表记录条数
  $count_sql = "select count(*) as num from {$table[0]}";
  $stmt = $pdo->query($count_sql);
  $info = $stmt->fetch(Pdo::FETCH_BOTH);
  $pad_table = str_pad($table[0], 25, &#39; &#39;);
  $sort_data[] = array(&#39;table&#39;=>$pad_table, &#39;num&#39;=>$info[&#39;num&#39;]);
  $sort_index[] = $info[&#39;num&#39;];
}
array_multisort($sort_index, SORT_DESC, $sort_data);
foreach($sort_data as $val)
{
  $row_str = <<<eof
 {$val[&#39;table&#39;]} [{$val[&#39;num&#39;]}]
eof;
 ee($row_str);
}

J'espère que ce qui est décrit dans cet article sera utile à tous ceux qui programment PHP.

Pour plus de statistiques PHP MySQL sur le nombre d'enregistrements dans chaque table de la bibliothèque et les classer par ordre décroissant, veuillez faire attention au site Web PHP chinois pour les articles connexes !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn