宝哥软件园

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

编辑:宝哥软件园 来源:互联网 时间:2021-11-01

本文介绍了用PHP获取和生成数据库字典的方法。分享给大家参考,如下:

?php/** *生成关系型数据库数据字典*/header(' Content-type : text/html;charset=utf-8 ');//配置数据库$数据库=数组();$ 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']}”)或die('Mysql connect为错误');MySQL _ select _ DB($ database[' DB _ NAME '],$ MySQL _ conn);$ result=MySQL _ query(' show tables ',$ MySQL _ conn);MySQL _ query(' set name 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 ']} '和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 ']} '和TABLE _ schema=' { $ database[' DB _ NAME ']} ' ';$ field=array();$field_result=mysql_query($sql,$ MySQL _ conn);while($ t=MySQL _ fetch _ array($ field _ result)){ $ fields[]=$ t;} $ tables[$ k][' COLUMN ']=$ field;} MySQL _ close($ MySQL _ conn);$ html=//循环所有表//print _ r($ tables);foreach($tables as $k=$v){ $html .='表格边框='1 '单元格间距='0 '单元格填充='0 '对齐='居中;$html .='标题表名:' .$v['TABLE_NAME'].' ' .$v['TABLE_COMMENT']./caption ';$html .='tbodytrth字段名/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']./TD ';$html .='td class='c5 ' .($f['EXTRA']=='auto_increment '?'是':' ') ./TD ';$html .='td class='c6 ' .$f['COLUMN_COMMENT']./TD ';$html .='/tr ';} $html .='/t正文/表格/p ';}/* 生成word *///页眉('内容类型:应用程序/vnd。ms-word ');//标题('内容处置:附件;文件名={$database['DB_NAME']}数据字典. doc’;/* 生成excel *///表头('内容类型:应用程序/vnd。ms-excel ');//标题('内容处置:附件;文件名={$database['DB_NAME']}数据字典. xls’;//输出“回声”html元字符集='utf-8 '标题自动生成数据字典/title style body,td,th {font-family: '宋体;font-size :12 px}表格,h1,p { width :960 pxmargin 33600 px汽车;}表格{边框-折叠:折叠;border:1px固体# CCC背景# efefef}表格标题{ text-align : left背景-color : # fff;线高:2 emfont-size :14 px字体粗细:加粗;}表格th { text-align : left字体粗细:加粗;高度:26 px线高:26 pxfont-size :12 pxborder:1px固体# CCC左衬垫:5 px}表格TD { height :20 pxfont-size :12 px;border:1px固体# CCC背景-color : # fff;左衬垫:5 px} . C1 { width : 150 px } . C2 { width : 150 px } . C3 { width : 80 px } . C4 { width : 100 px } . C5 { width : 100 px } . C6 { width : 300 px }/style body ';echo ' h1 style=' text-align : center;''.$数据库['DB_NAME'].'数据字典/h1 ';echo ' p style=' text-align :居中;余量:20px汽车;'生成时间:' .日期(' Y-m-d H:i:s ')./p ';echo $ htmlecho ' p style=' text-align : left;余量:20px汽车;'总共:' .计数($tables).”个数据表/p ';echo '/body/html ';更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《PHP基于pdo操作数据库技巧总结》 、 《PHP运算与运算符用法总结》 、 《PHP网络编程技巧总结》 、 《PHP基本语法入门教程》 、 《php操作office文档技巧总结(包括word,excel,access,ppt)》 、 《php日期与时间用法总结》 、 《php面向对象程序设计入门教程》 、 《php字符串(string)用法总结》 、 《php+mysql数据库操作入门教程》 及《php常见数据库操作技巧汇总》

希望本文对PHP编程有所帮助。

更多资讯
游戏推荐
更多+