|
本文实例讲述了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操作数据库的乱码问题解决方法
|
|