PHP连数据库生成数据字典
<?php /*** 生成mysql数据字典*/ header("Content-type:text/html;charset=utf-8"); // 配置数据库 $database = array(); $database['DB_HOST'] = '119.23.140.154'; $database['DB_NAME'] = 'haiyi'; $database['DB_USER'] = 'root'; $database['DB_PWD'] = 'zpYxW5qxaSeL5aTk'; $conn = mysqli_connect("{$database['DB_HOST']}", "{$database['DB_USER']}", "{$database['DB_PWD']}", $database['DB_NAME']); if ($conn->connect_error) {die("连接失败: " . $conn->connect_error); } mysqli_query("set names utf8"); $result = $conn->query('show tables', $mysql_conn); if ($result->num_rows > 0) {// 取得所有表名while ($row = $result->fetch_array()) {$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 = $conn->query($sql);while ($t = $table_result->fetch_array()){$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 = $conn->query($sql);while ($t = $field_result->fetch_array()){$fields[] = $t;}$tables[$k]['COLUMN'] = $fields; } $conn->close(); $html = ''; // 循环所有表 //print_r($tables); foreach($tables as $k => $v) {$html .= '<table border="1" cellspacing="0" cellpadding="0" align="center">';$html .= '<caption>表名:' . $v['TABLE_NAME'] . ' ' . $v['TABLE_COMMENT'] . '</caption>';$html .= '<tbody><tr><th>字段名</th><th>数据类型</th><th>默认值</th><th>允许非空</th><th>自动递增</th><th>备注</th></tr>';$html .= '';foreach($v['COLUMN'] AS $f){$html .= '<td class="c1">' . $f['COLUMN_NAME'] . '</td>';$html .= '<td class="c2">' . $f['COLUMN_TYPE'] . '</td>';$html .= '<td class="c3">' . $f['COLUMN_DEFAULT'] . '</td>';$html .= '<td class="c4">' . ($f['IS_NULLABLE'] == 'YES' ? '是':'否') . '</td>';$html .= '<td class="c5">' . ($f['EXTRA'] == 'auto_increment'?'是':' ') . '</td>';$html .= '<td class="c6">' . $f['COLUMN_COMMENT'] . '</td>';$html .= '</tr>';}$html .= '</tbody></table></p>'; } /* 生成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 '<html><meta charset="utf-8"><title>自动生成数据字典</title><style>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;}</style><body>'; echo '<h1 style="text-align:center;">'.$database['DB_NAME'].'数据字典</h1>'; echo '<p style="text-align:center;margin:20px auto;">生成时间:' . date('Y-m-d H:i:s') . '</p>'; echo $html; echo '<p style="text-align:left;margin:20px auto;">总共:' . count($tables) . '个数据表</p>'; echo '</body></html>'; ?>
转载于:https://www.cnblogs.com/rubekid/p/7215466.html
PHP连数据库生成数据字典相关推荐
- 用mysql建立商城数据字典_把mysql数据库生成数据字典,直接可用
便于查看数据库表.字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的. header('content-type:text/html;charset=utf-8'); ...
- PowerDesigner根据数据库生成数据字典
一.把数据库结构导入到PowerDesigner 1.选择File->Reverse Engineer->DataBase 2.选择数据库 3.配置数据源 4.选择要导入的表 5.导入后生 ...
- power designer 设计数据库生成到oracle数据库
一.概念模型设计 1. 创建工程,创建概念设计模型,在快捷菜单栏调出 palette 找到表格工具,在主界面中创建表格. 2. 创建出的表格,双击进入设计模式 -------------------- ...
- php实现小说字典功能_PHP实现生成数据字典功能示例
本文实例讲述了PHP实现生成数据字典功能.分享给大家供大家参考,具体如下: 最近时间紧迫,没有时间发博客,趁现在有点时间向大家分享一个知识点.在咱们做开发的时候 ,也许经常会遇到对数据库分析,做一个数 ...
- 【数据字典】第三篇 利用PowDesigner自动生成数据字典
一.从mysql数据库生成pdm图 1.配置数据库连接(要使用此方法jdk必须为32位,否则test将会失败) 1.1配置数据源:database-->Configure Data Connec ...
- PowerDesigner 生成数据字典
数据字典是指对数据的数据项.数据结构.数据流.数据存储.处理逻辑.外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目.简而言之,数据字典是描述数据的 ...
- 如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)(转)...
如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM) pdm做好后,最终是要将其转化为数据库实体的. 1.确认当前Powerdesigner设置的d ...
- idea persistence生成_真厉害!竟然可以这样用IDEA通过数据库生成lombok版的POJO...
前言 最近写需求时需要新建许多新表,设计完表结构还要一一写成对应的 POJO,很麻烦,就 Google 了一下.网上相关资料不多,借鉴了一篇博客,并在其基础上进行了完善. 前置步骤 使用 IDEA 自 ...
- 数据库生成T4模版在代码生成中的应用心得
在本篇文章中,我们主要介绍数据库生成的内容,自我感觉有个不错的提议和大家分享下 转眼之间,我用T4模版已经三年多的时间.三年来,经过几个项目的磨合,在应用上偶有心得,在这里把一些问题一一罗列出来. 2 ...
- powerdesigner反向MySQL5.1数据库 生成ER图
powerdesigner反向MySQL5.1数据库 生成ER图 转载于:https://www.cnblogs.com/passer1991/archive/2013/03/17/2964680.h ...
最新文章
- 客快物流大数据项目(二十五):初始化业务数据
- oracle 内存分配和调优 总结
- L3-002 特殊堆栈
- 使用Categorical_endcoder包对标称变量进行个性化编码
- Java实现快速排序 Quick Sort
- java语言主要因为具备了,Java语言的魅力
- 最短路径Dijkstra讲解,工具包使用 python
- 防止私自接交换机_防止私接家用路由器干扰DHCP功能,禁止用户手动设置IP地址-肖哥...
- 【helpdesk】启明星helpdesk7.0版本里,实现邮件提交功能介绍和原理
- Madagascar编程的Makefile文件配置
- spark reduce与reduceByKey的区别
- PcShare远程控制(20070722免费版本)发布
- Ajax回调函数中return不生效问题
- 国内硕士申请加拿大计算机博士难度,【经验分享】如何申请加拿大硕士研究生或者博士?...
- 秦汉考场科目三路线图_易通驾校百科:秦汉科目三考场考试攻略,附考场路线图...
- 微信存储空间占用问题
- 学习超市管理系统的搭建与实现
- 京淘项目实战开发-01
- LeetCode刷题13-简单-罗马数字转整数
- 【HTML5】HTML语法和基本常用标签(字符集)