本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/22565
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我