找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1493|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 05:36:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

$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 .= '表名:' . $v['TABLE_NAME'] . ' ' . $v['TABLE_COMMENT'] . '';
  $html .= '字段名数据类型默认值允许非空自动递增备注';
  $html .= '';
  foreach($v['COLUMN'] AS $f)
  {
    $html .= '' . $f['COLUMN_NAME'] . '';
    $html .= '' . $f['COLUMN_TYPE'] . '';
    $html .= '' . $f['COLUMN_DEFAULT'] . '';
    $html .= '' . $f['IS_NULLABLE'] . '';
    $html .= '' . ($f['EXTRA'] == 'auto_increment'?'是':' ') . '';
    $html .= '' . $f['COLUMN_COMMENT'] . '';
    $html .= '';
  }
  $html .= '
';
}
/* 生成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 '
  
  自动生成数据字典
  
    body,td,th {font-family:"宋体"; font-size:12px;}
    table,h1,p{width:960px;margin:0px auto;}
    table{border-collapse:collapse;border:1px solid #CCC;background:#efefef;}
    table caption{text-align:left; background-color:#fff; line-height:2em; font-size:14px; font-weight:bold; }
    table th{text-align:left; font-weight:bold;height:26px; line-height:26px; font-size:12px; border:1px solid #CCC;padding-left:5px;}
    table td{height:20px; font-size:12px; border:1px solid #CCC;background-color:#fff;padding-left:5px;}
    .c1{ width: 150px;}
    .c2{ width: 150px;}
    .c3{ width: 80px;}
    .c4{ width: 100px;}
    .c5{ width: 100px;}
    .c6{ width: 300px;}
  
  ';
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程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • PHP数据库连接mysql与mysqli对比分析
  • PHP基于单例模式实现的数据库操作基类
  • PHP连接MYSQL数据库实例代码
  • php session 写入数据库
  • 使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
  • php读取txt文件并将数据插入到数据库
  • PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
  • PHP结合Mysql数据库实现留言板功能
  • PHP访问数据库集群的方法小结
  • PHP的Yii框架中使用数据库的配置和SQL操作实例教程
  • FleaPHP框架数据库查询条件($conditions)写法总结
  • PHP的Laravel框架结合MySQL与Redis数据库的使用部署
  • PHP连接数据库实现注册页面的增删改查操作
  • PHP使用PDO操作数据库的乱码问题解决方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端