Home  >  Article  >  Backend Development  >  PHP+MySQL counts the number of records in each table in the database and arranges them in descending order

PHP+MySQL counts the number of records in each table in the database and arranges them in descending order

高洛峰
高洛峰Original
2017-01-14 13:35:00984browse

The example of this article describes the method of PHP+MySQL to count the number of records in each table in the library and arrange them in descending order. Share it with everyone for your reference, as follows:

This is a simple code that can count the number of records in each table in the database and arrange them in descending order

$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);
}

I hope this article will be helpful to everyone in PHP programming.

For more PHP+MySQL statistics on the number of records in each table in the library and arrange them in descending order, please pay attention to the PHP Chinese website for related articles!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn