php实现小说字典功能_PHP实现生成数据字典功能示例

本文实例讲述了PHP实现生成数据字典功能。分享给大家供大家参考,具体如下:

最近时间紧迫,没有时间发博客,趁现在有点时间向大家分享一个知识点。在咱们做开发的时候 ,也许经常会遇到对数据库分析,做一个数据字典,那么现在好处来了,大家只需要关注我所发送的这个链接轻轻松松帮你们搞定数据字典的设计,再也不用你们下载数据字典那个工具,作为一个开发人员,随便几行代码就应该会搞定这个知识,那么现在废话我也不多说了,大家看底下的代码,大家只需要改一下你的数据库账号和密码然后运行一下就可以了。

效果展示:

说了这么多废话了,终于开始写代码了:

/**

* 生成mysql数据字典

*/

//配置数据库

$dbserver = "127.0.0.1";

$dbusername = "账号";

$dbpassword = "密码";

$database = "数据库";

//其他配置

$title = '数据字典';

$mysql_conn = @mysql_connect("$dbserver", "$dbusername", "$dbpassword") or die("Mysql connect is error.");

mysql_select_db($database, $mysql_conn);

mysql_query('SET NAMES utf8', $mysql_conn);

$table_result = mysql_query('show tables', $mysql_conn);

//取得所有的表名

while ($row = mysql_fetch_array($table_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}'";

$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}'";

$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 = '';

//循环所有表

foreach ($tables AS $k=>$v) {

//$html .= '

'. $v['TABLE_COMMENT'] . '

';

$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 .= '

';

}

//输出

echo '

'.$title.'

body,td,th {font-family:"宋体"; font-size:12px;}

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;}

table td{height:20px; font-size:12px; border:1px solid #CCC;background-color:#fff;}

.c1{ width: 120px;}

.c2{ width: 120px;}

.c3{ width: 70px;}

.c4{ width: 80px;}

.c5{ width: 80px;}

.c6{ width: 270px;}

echo '

'.$title.'

';

echo $html;

echo '';

?>

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的世界服务器的文件名叫什么,我的世界 外国服务器叫什么名字 | 手游网游页游攻略大全...

发布时间:2015-11-15COD5服务器里改名字颜色 改名字颜色方法1:1. 搜索config_mp.cfg 文件2. 用记事本打开该文件 搜索seta clanName ""3. 在&qu ...标签:使命召唤5:世界战争发布时间:2015-11-10伤害世界Hurtworld服…

java整数翻转_Java程序反转数字

Java程序反转数字在此程序中,您将学习在Java中使用while循环和for循环来反转数字。示例:在Java中使用while循环反转数字public class ReverseNumber {public static void main(String[] args) {int num 1234, reversed 0;while(num ! 0) {int digit n…

友盟消息推送服务器demo,友盟消息推送总结

分享的文章连接1 http://blog.csdn.net/shenjie12345678/article/details/411206372;http://dev.umeng.com/push/ios/integration重点解析:1:如何获得友盟推送的AppKey?1.1登陆到友盟的消息推送界面——>添加应用,出现如下界面…

乒乓球十一分制比赛规则_乒乓球的基本比赛规则

乒乓球是中国国球,是一种世界流行的球类体育项目,包括进攻、对抗和防守。下面小编为大家分享乒乓球的基本比赛规则,欢迎大家参考借鉴。得分和交手流程1、赛前双方互相交换球拍进行检视乒乓球比赛前,为了检查对方的胶皮是否有违规之…

cocos creator 方法数组_基于 Cocos 游戏引擎的音视频研发探索

本文转载自公众号:流利说技术团队(lls_tech)版权归原作者所有本文主要介绍了流利说团队基于 Cocos 游戏引擎进行音视频相关需求开发过程中所遇到的问题和解决方案。文章中将依次阐述 Cocos 引擎直接渲染视频的方案,继而引申出多线程环境下 OpenGL 环境的…

华为服务器双系统教程,服务器上安装双系统

服务器上安装双系统 内容精选换一换Atlas 800 训练服务器(型号 9000)安装上架、服务器基础参数配置、安装操作系统等操作请参见《Atlas 800 训练服务器 用户指南 (型号9000, 风冷)》或《Atlas 800 训练服务器 用户指南 (型号9000, 液冷)》。Atlas 800 训练服务器(型号 9000)适配…

线程销毁_多线程(2)-Java高级知识(9)

前面有一篇文章写的是多线程的基本知识,以及线程实现的两种方式,一种是继承Thread类,另一种实现Runnable 接口,今天沿着前面的多线程,继续分享多线程的第三种创建方法,以及第三种创建方法的优势&#xff0c…

怎么查看服务器系统内存,怎么查看服务器系统内存

怎么查看服务器系统内存 内容精选换一换确认服务器服务是否开启。登录虚拟机内部。执行如下命令,查看系统的端口监听状态,如图1所示。netstat -ntplWindows虚拟机可以在命令行中执行netstat -ano查看系统的端口监听状态,或者查看服务端软件状…

as工程放到源码编译_Flutter源码剖析(二):源码的阅读与调试环境配置

综述 Flutter从架构上来说有3部分:用Dart写的Framework层,面向开发者用Java/Kotlin写的Embdder层(For Android,iOS是OC/Swift),纯Flutter App不需要关心用C写的Engine层,提供Dart运行环境和底层绘制能力针对每个部分&a…

万州哪里有维修服务器,网关可以设在服务器、微机或大型机上

网关可以设在服务器、微机或大型机上。由于网关具有强大的功能并且大多数时候都和应用有关,它们比路由器的价格要贵一些。另外,由于网关的传输更复杂,它们传输数据的速度要比网桥或路由器低一些。正是由于网关较慢,它们有造成网络…

workbook加载文件路径_【Python】文件重命名(按照Excel清单)

问题:1、扫描了很多文件,想批量加上文件编号2、网页下载了一堆图片,批量加上图片分类3、文件命名不规范,想批量调整效果图:需求解析:1、想重命名,就要有原名字和修改后的名字,清单准…

ppap文件过程流程图制作_收藏 | 据说PPAP的精华都在这个PPT里!一起来鉴定下

一组数字的PPAP3种情况必须提交8种情况通知提交5种提交等级3种提交状态18份提交内容“3”——以下3种情况,必须向顾客提交PPAP:1)一种新的零件或产品;2)对以前所提供不符合零件的纠正;3)由于设计记录、规范或材料方面的工程变更从…

++实现 ipv6数据报_IPV6报文格式和IPV4有什么区别?

前言RFC2460定义了IPv6数据报格式。总体结构上,IPv6数据报格式与IPv4数据报格式是一样的,也是由IP报头和数据(在IPv6中称为有效载荷)这两个部分组成的。但在IPv6数据报数据部分还可以包括0个或者多个IPv6扩展报头(Extension header)。正文1IPV6报文格式如…

曲面设计步骤pdf_3dmax模渲大师|室外设计师怎么用3dmax疯狂模渲大师制作室内设计效果图的外景天空?...

3dmax模渲大师|室外设计师怎么用3dmax疯狂模渲大师制作室内设计效果图的外景天空?这次食住玩讲的是第十三章的第1节,3dmax疯狂模渲大师室外设计篇的第1课——“外景天空”的使用方法。在室内设计效果图领域,也有要涉及室外的时候。…

go 修改结构体方法_Go36-13-结构体及其方法

结构体及其方法结构体类型表示的是实实在在的数据结构。一个结构体类型可以包含若干个字段,每个字段通常都需要有确切的名字和类型。结构体类型也可以不包含任何字段,这样并不是没有意义的,因为我们还可以为这些类型关联上一些方法&#xff0…

iphone日历显示周视图_用敬业签记录放假安排 2021年放假安排日历

2021年已经踏着轻快的步伐向我们一路小跑而来,新的一年中,除了可以做更多的成绩之外,还有很多假期伴随而来。做好放假安排就可以让假期更加充实,为了能够更好的记录放假安排和相关事项可用敬业签这款便签软件。使用敬业签记录放假…

oracle删除orcl库_oracle删除数据文件

在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表、视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间。一、使用offline数据文件的方法非归档模式使用:alter database datafi…

datagridview取消默认选中_winform datagridview中的 combobox如何选中默认值?

看了半天,我终于知道你是在添加行,并不是绑定——你是试图从数据库中逐行读取数据,然后赋值到Combobox中,对不?请不要这样做!请直接把DataTable作为数据源赋值给GridView!public partial class …

人工智能的炒作_为什么人工智能被过度炒作?

像任何新技术一样,人工智能也经历了称为“炒作周期”的各个阶段。它们从技术触发器开始。如果超过了人们设定的期望值(过度夸大),那么就会带来技术未达到预期的幻灭感,然后就是带来启发的成功案例,最后是生产力的稳定期。有了人工…

opencv轮廓周长原理_opencv轮廓逼近的精度参数与周长cvContourPerimeter的汇总

1)CV_Assert():若括号中的表达式值为false,则返回一个错误信息。函数原型是:#define CV_Assert( expr ) if((expr)) ; else cv::error( cv::Exception(CV_StsAssert, #expr, "", __FILE__, __LINE__) )2)cvContourPerimeter&#x…