• 技术文章 >后端开发 >php教程

    PHP实现获取并生成数据库字典的方法_PHP

    2016-05-27 10:18:45原创413

    本文实例讲述了PHP实现获取并生成数据库字典的方法。分享给大家供大家参考,具体如下:

    <?php
    /**
     * 生成mysql数据字典
     */
    header("Content-type:text/html;charset=utf-8");
    // 配置数据库
    $database = array();
    $database['DB_HOST'] = 'localhost';
    $database['DB_NAME'] = 'test';
    $database['DB_USER'] = 'root';
    $database['DB_PWD'] = '';
    $mysql_conn = @mysql_connect("{$database['DB_HOST']}", "{$database['DB_USER']}", "{$database['DB_PWD']}") or die("Mysql connect is error.");
    mysql_select_db($database['DB_NAME'], $mysql_conn);
    $result = mysql_query('show tables', $mysql_conn);
    mysql_query("set names utf8");
    // 取得所有表名
    while ($row = mysql_fetch_array($result))
    {
      $tables[]['TABLE_NAME'] = $row[0];
    }
    // 循环取得所有表的备注及表中列消息
    foreach($tables as $k => $v)
    {
      $sql = 'SELECT * FROM ';
      $sql .= 'information_schema.TABLES ';
      $sql .= 'WHERE ';
      $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database['DB_NAME']}'";
      $table_result = mysql_query($sql, $mysql_conn);
      while ($t = mysql_fetch_array($table_result))
      {
        $tables[$k]['TABLE_COMMENT'] = $t['TABLE_COMMENT'];
      }
      $sql = 'SELECT * FROM ';
      $sql .= 'information_schema.COLUMNS ';
      $sql .= 'WHERE ';
      $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database['DB_NAME']}'";
      $fields = array();
      $field_result = mysql_query($sql, $mysql_conn);
      while ($t = mysql_fetch_array($field_result))
      {
        $fields[] = $t;
      }
      $tables[$k]['COLUMN'] = $fields;
    }
    mysql_close($mysql_conn);
    $html = '';
    // 循环所有表
    //print_r($tables);
    foreach($tables as $k => $v)
    {
      $html .= '';
      $html .= '';
      $html .= '';
      $html .= '';
      foreach($v['COLUMN'] AS $f)
      {
        $html .= '';
        $html .= '';
        $html .= '';
        $html .= '';
        $html .= '';
        $html .= '';
        $html .= '';
      }
      $html .= '
    表名:' . $v['TABLE_NAME'] . ' ' . $v['TABLE_COMMENT'] . '
    字段名数据类型默认值允许非空自动递增备注
    ' . $f['COLUMN_NAME'] . '' . $f['COLUMN_TYPE'] . '' . $f['COLUMN_DEFAULT'] . '' . $f['IS_NULLABLE'] . '' . ($f['EXTRA'] == 'auto_increment'?'是':' ') . '' . $f['COLUMN_COMMENT'] . '

    '; } /* 生成word */ //header ( "Content-type:application/vnd.ms-word" ); //header ( "Content-Disposition:attachment;filename={$database['DB_NAME']}数据字典.doc" ); /* 生成excel*/ //header ( "Content-type:application/vnd.ms-excel" ); //header ( "Content-Disposition:attachment;filename={$database['DB_NAME']}数据字典.xls" ); // 输出 echo ' 自动生成数据字典 '; echo '

    '.$database['DB_NAME'].'数据字典

    '; echo '

    生成时间:' . date('Y-m-d H:i:s') . '

    '; echo $html; echo '

    总共:' . count($tables) . '个数据表

    '; echo ''; ?>

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 获取 生成 数据库字典
    上一篇:Joomla简单判断用户是否登录的方法_PHP 下一篇:thinkPHP使用pclzip打包备份mysql数据库的方法_PHP
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP的socket连接到服务端模版,socket服务端_PHP教程• 解密ThinkPHP3.1.2版本之模板继承_PHP教程• php多功能图片处理类分享(php图片缩放类)_PHP教程• 简单php 图片比例缩放代码_PHP教程• 同时安装sql2000和sql2005,经验点滴_PHP教程
    1/1

    PHP中文网