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

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

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

$host = '127.0.0.1';
$port = 3306;
$dbname = 'test';
$username = 'root';
$password = '';
function ee($p)
{
  if(PHP_SAPI == 'cli')
  {
    echo "\n";
  }else{
    echo "<pre>";
  }
  print_r($p);
  if(PHP_SAPI == 'cli')
  {
    echo "\n";
  }else{
    echo "<pre>";
  }
}
$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, ' ');
  $sort_data[] = array('table'=>$pad_table, 'num'=>$info['num']);
  $sort_index[] = $info['num'];
}
array_multisort($sort_index, SORT_DESC, $sort_data);
foreach($sort_data as $val)
{
  $row_str = <<<eof
 {$val['table']} [{$val['num']}]
eof;
 ee($row_str);
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php常见数据库操作技巧汇总》、《PHP基于pdo操作数据库技巧总结》及《PHP基本语法入门教程》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • 使用php计算排列组合的方法

    前些天因为业务需要写了一段计算排列组合的代码,今天整理了一下,以备后用 复制代码 代码如下: <?php/** * 要解决的数学问题    :算出C(a,1) * C(b, 1) * ... * C(n, 1)的组合情况,其中C(n, 1)代表从n个元素里任意取一个元素 * * 要解决的实际问题样例:某年级有m个班级,每个班的人数不同,现在要从每个班里抽选一个人组成一个小组, *                       由该小组来代表该年级参加学校的某次活动,请给出所有可能的组合 *//*

  • PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】

    本文实例总结了PHP字符串逆序排列实现方法.分享给大家供大家参考,具体如下: 关于字符串的逆序排列,最简单的使用PHP函数strrev()的测试代码如下: header('Content-type: text/html; charset=utf-8'); $str = implode('', range(9, 0)); print '< p><strong>Before reversed: </strong>'.$str.'< /p>'; print '&l

  • php递归法读取目录及文件的方法

    本文实例讲述了php递归法读取目录及文件的方法.分享给大家供大家参考.具体如下: 这里实例分析php递归法读取目录及文件的方法,代码中包含较为详尽的注释,如下所示: <?php function showdir($path){ $dh = opendir($path);//打开目录 while(($d = readdir($dh)) != false){ //逐个文件读取,添加!=false条件,是为避免有文件或目录的名称为0 if($d=='.' || $d == '..'){//判断是否为.

  • php 遍历数据表数据并列表横向排列的代码

    复制代码 代码如下: <?php $a = array (1,2,3,4,5,6,7,8,9,10,11); $i = 0; ?> <table border=1> <tr> <? foreach ($a as $k){ if($i%3==0) {//该处表示需要横向排列的列数. echo "</tr><tr>"; } echo "<td>",$k,"</td>&qu

  • php通过排列组合实现1到9数字相加都等于20的方法

    本文实例讲述了php通过排列组合实现1到9数字相加都等于20的方法.分享给大家供大家参考.具体实现方法如下: <?php set_time_limit(0); /* 函数说明:huoqu_zhuhe($eq,$jiashu,$isone=0) 参数说明:$eq---几个数相加的总和: $jiashu-------加数数组:$jiashu=array(1,2,3,4,5,6,7,8,9),可以使用的加数: $isone---是否要每次使用不同的加数,唯一性,1是 0 不,默认1 返回类型:数组,数

  • 深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表

    PHP几个算法整理 涉及到以下几个示例.PHP冒泡PHP二分法PHP求素数PHP乘法表 PHP冒泡法 示例 复制代码 代码如下: //PHP冒泡  从小到大function maopao(&$arr){  if(!empty($arr))  {    for($i=0;$i<count($arr);$i++)      {        if($arr[$i]>$arr[$j])        {          //开始交换          $temp = $arr[$i];  

  • php一个解析字符串排列数组的方法

    本文实例讲述了php一个解析字符串排列数组的方法.分享给大家供大家参考.具体如下: <?php $str="1|苹果|30 1|桃子|50 1|普通|10 2|小麦|100 2|玉米|35 2|大米|30 3|电脑|5 3|MP3|121 3|打印机|8"; $strArray=explode("\n",$str); /*关键的是下面的代码*/ $result=array(); foreach($strArray as $item) { $itemArray=

  • 逆序二维数组插入一元素的php代码

    复制代码 代码如下: <?php /** * 逆序二维数组插入一元素 * * @author WadeYu * @date 2012-05-30 */ $aSorted = array( array(1, 100), array(2, 90), array(3, 80), array(4, 70), array(5, 60), array(6, 50), array(7, 40), array(8, 40), array(9, 40), array(10, 20), ); $aInsert =

  • PHP使用array_merge重新排列数组下标的方法

    本文实例讲述了PHP使用array_merge重新排列数组下标的方法.分享给大家供大家参考.具体如下: 用了一个array_unique去除了一个数组里面的重复,但是发现下标保留了原数组的下标,但是php使用for循环需要下标整齐,所以寻找重新排列数组下标的方法array_merge可以解决这个问题 array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果

  • php实现两表合并成新表并且有序排列的方法

    本文实例讲述了php实现两表合并成新表并且有序排列的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <?php /** la (3,5,8,11) lb(2,6,8,9,11,15) 合并为lc,有序排列. 用php实现,不能用sort之类的函数!!!! **/ class union {     var $lista = array();     var $listb = array();     var $listc = array();          funct

  • php全排列递归算法代码

    算法原理如果用P表示n个元素的全排列,而Pi表示n个元素中不包含元素i的全排列,(i)Pi表示在排列Pi前面加上前缀i的排列,那么n个元素的全排列可递归定义为:    ① 如果n=1,则排列P只有一个元素i:    ② 如果n>1,则全排列P由排列(i)Pi构成:根据定义,可以看出如果已经生成(k-1)个元素的排列Pi,那么k个元素的排列可以在每个Pi前面加上元素i而生成.代码实现 复制代码 代码如下: function rank($base, $temp=null){    $len = st

  • php求数组全排列,元素所有组合的方法

    本文实例讲述了php求数组全排列,元素所有组合的方法.分享给大家供大家参考,具体如下: <?php $source = array('pll','我','爱','你','嘿'); sort($source); //保证初始数组是有序的 $last = count($source) - 1; //$source尾部元素下标 $x = $last; $count = 1; //组合个数统计 echo implode(',', $source), "<br>"; //输出第

随机推荐