当前位置:首页 > PHP教程 > php应用 > 列表

PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-09 23:29:25 浏览: 评论:0 

这篇文章主要介绍了PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法,涉及PHP基于PDO操作MySQL数据库的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

本文实例讲述了PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法。分享给大家供大家参考,具体如下:

这是一段简单的代码,可实现统计该数据库中每个表的记录数,并按递减顺序排列的功能。

  1. $host = '127.0.0.1'
  2. $port = 3306; 
  3. $dbname = 'test'
  4. $username = 'root'
  5. $password = ''
  6. function ee($p
  7.   if(PHP_SAPI == 'cli'
  8.   { 
  9.     echo "\n"
  10.   }else
  11.     echo "<pre>"
  12.   } 
  13.   print_r($p); 
  14.   if(PHP_SAPI == 'cli'
  15.   { 
  16.     echo "\n"
  17.   }else
  18.     echo "<pre>"
  19.   } 
  20. $dsn = "mysql:host={$host};port={$port};dbname={$dbname}"
  21. $opts = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION, PDO::ATTR_AUTOCOMMIT=>0); 
  22. try { 
  23.   $pdo = new PDO($dsn$username$password$opts); 
  24. }catch(PDOException $e){ 
  25.   echo $e->getMessage(); 
  26. //有查询结果 
  27. function query($sql
  28.   global $pdo
  29.   $stmt = $pdo->query($sql); 
  30.   $data = $stmt->fetchAll(Pdo::FETCH_BOTH); 
  31.   return $data
  32. //无查询结果 
  33. function execute($sql
  34.   global $pdo
  35.   $affect_rows = $pdo->query($sql); 
  36.   return $affect_rows;//影响条数 
  37. $tables = query("show tables"); 
  38. $sort_data = array(); 
  39. foreach($tables as $table
  40.   //表记录条数 
  41.   $count_sql = "select count(*) as num from {$table[0]}"
  42.   $stmt = $pdo->query($count_sql); 
  43.   $info = $stmt->fetch(Pdo::FETCH_BOTH); 
  44.   $pad_table = str_pad($table[0], 25, ' '); 
  45.   $sort_data[] = array('table'=>$pad_table'num'=>$info['num']); 
  46.   $sort_index[] = $info['num']; 
  47. array_multisort($sort_index, SORT_DESC, $sort_data); 
  48. foreach($sort_data as $val
  49.   $row_str = <<<eof 
  50.  {$val['table']} [{$val['num']}] 
  51. eof; 
  52.  ee($row_str); 
  53. }

Tags: PHP+MySQL统计 PHP+MySQL按递

分享到: