用php生成数据字典

<?php
    header("Content-type: text/html; charset=utf-8");
       $dbserver = "localhost";
        $dbusername="root";
        $dbpassword="root";
        $title = ‘数据字典‘;
        if($_GET[‘db‘] == ‘‘){
            $database = "aa";
        }else{
            $database = $_GET[‘db‘];
        }

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

        mysql_select_db($database,$mysql_conn);
        $result = mysql_query(‘show tables‘,$mysql_conn);
        mysql_query(‘SET NAMES utf8‘,$mysql_conn);
        //取得所有表名
        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‘]}‘ 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 .=‘<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‘].‘</td>‘;
                $html .=‘<td class="c5">‘.($f[‘EXTRA‘]==‘auto_increment‘?‘是‘:‘ ‘).‘</td>‘;
                $html .=‘<td class="c6">‘.$f[‘COLUMN_COMMENT‘].‘</td>‘;
                $html .= ‘</tr>‘;
            }
            $html .=‘</tbody></table></p>‘;
        }
        echo ‘<html>
    <meta charset="gbk">
    <title>自动生成数据字典</title>
    <style>
        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;}
    </style>
    <body>‘;
    echo ‘<h1 style="text-align:center;">‘.$title.‘</h1>‘;
    echo $html;
    echo ‘</body></html>‘;

?>
时间: 2024-07-29 19:02:08

用php生成数据字典的相关文章

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'] = 'zpYxW5qxaS

使用OpenXml实现生成数据字典文档(beta)

最近项目在走验收流程,之前没有仔细看SOW文档,发现需要补好多份文档,其中就有数据字典,项目组不愿意花时间太多的时间弄这些文档,也不希望以后还要重复劳动力,最终决定做一个工具,方便自己生成数据字典文档. 这里只是分享一下开发的思路和经历(如果发现有问题,请及时告诉我,我会即时纠正,以免误导他人,欢迎大家多多指点) 工具的界面大体如下: 需要完成的任务: 投影未脱机的数据库列表(使用T-SQL) 投影当前数据库的表列表(使用T-SQL) 投影某表的字段信息列表(使用T-SQL) 使用OpenXml

生成数据字典语法

-- 查询某表的数据字典 SELECT A.TABLE_NAME AS "表名",A.COLUMN_NAME AS "字段名", DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'), A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as "字段

【PD】PowerDesigner生成数据字典

1.首先说明我使用的环境 2.打开PDM模型,右键-->NEW-->REPORT 3.数据字典编辑器(一些通用模型吧,自己可以再DIY) 4.选择Table-->List of Table Columns(先把table加到右边,然后将其他无用的删掉) 5.在选定的条目上右键,选择Selection把你数据字典需要的数据勾上 6.选择Layout,设置显示格式 7.显示设定完成后,点击QuickView以确定是否为需要内容 8.在预览窗口,点击RTF另存 9.成果

20180629利用powerdesgine生成数据字典

原创作品,如有错误,请批评指正 第一步新建一个PDM模型 第二步 点击"FILE"--->"RESERVER ENGINEER"--->"DATABASE" 第三步 选择你的SQL文件 如果导入成功,说明生成PDM没有问题 第四步 选中PDM 右键"NEW"--->"REPORT" 第五步 配置REPORT格式 第六步 在ITEM上右键"LAYOUT",可以随意配置你想

mysql生成数据字典

git clone https://github.com/twindb/undrop-for-innodb.git make [[email protected] undrop-for-innodb]# make cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -c stream_parser.c cc -D_FILE_OFFSET_BITS=64 -Wall -g -O3 -pipe -I./include -pthread -

生成数据字典

http://blog.csdn.net/qq289523052/article/details/22174721 1.在 表 上右键 - 扩展属性 - 属性 (添加表名) 2.工具设置 - 查询结果 - SQL Server - 以文本格式显示结果 - 只勾选 在结果集中包括列标题 3.在Sql Service界面 选中 以文本格式显示结果 (在'注释'的左边 第三个) 4.在当前数据库,执行SQL语句 Set nocount onDECLARE @TableName nvarchar(35)

使用 PowerDesigner 和 PDMReader 逆向生成 MySQL 数据字典

下面提到的软件大家可以在下面的链接下载. 大家可以参考下面的操作录制视频来完成相关的操作. 使用 PowerDesigner 和 PDMReader 逆向生成 MySQL 数据字典.wmv_免费高速下载|百度云 网盘-分享无限制http://pan.baidu.com/s/1bnvrObd 数据库反向生成数据字典的工具_免费高速下载|百度云 网盘-分享无限制http://pan.baidu.com/s/1hqpHSGW 第 1 步:先下载一个 ODBC 数据源连接,注意 32 位系统就安装 32

PowerDesigner生成Oracle数据字典

PowerDesigner版本信息 1.File-->NewModel... 2.选择模型 New Model Model types-->Physical Data Model --> Physical Diagram-->OK 4.配置数据源连接 Database-->Configure Connections... 5.新增数据库Add Data Source -->用户数据源(只用于当前机器)(U) 下一步 6.创建新的数据源 选择Microsoft ODBC