public function zidian()

{

/**

生成mysql数据字典

**/

//配置数据库

$dbusername = “root”;

$dbpassword = " ";

$database = " ";

//其他配置

$title = ‘数据字典’;

mysqlconn=@mysqlconnect("mysql_conn = @mysql_connect("mysqlc​onn=@mysqlc​onnect("dbserver", “dbusername","dbusername", "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=mysqlfetcharray(row = mysql_fetch_array(row=mysqlf​etcha​rray(table_result)) {

$tables[][‘TABLE_NAME’] = $row[0];

}

//循环取得所有表的备注及表中列消息

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

$sql = 'SELECT * FROM ';

$sql .= 'INFORMATION_SCHEMA.TABLES ';

$sql .= 'WHERE ';

KaTeX parse error: Expected '}', got 'EOF' at end of input: …table_name = '{v[‘TABLE_NAME’]}’ AND table_schema = ‘{$database}’";

tableresult=mysqlquery(table_result = mysql_query(tabler​esult=mysqlq​uery(sql, $mysql_conn);

while (t=mysqlfetcharray(t = mysql_fetch_array(t=mysqlf​etcha​rray(table_result) ) {

$tables[$k]['TABLE_COMMENT'] = $t['TABLE_COMMENT'];

}

$sql = 'SELECT * FROM ';

$sql .= 'INFORMATION_SCHEMA.COLUMNS ';

$sql .= 'WHERE ';

KaTeX parse error: Expected '}', got 'EOF' at end of input: …table_name = '{v[‘TABLE_NAME’]}’ AND table_schema = ‘{$database}’";

$fields = array();

fieldresult=mysqlquery(field_result = mysql_query(fieldr​esult=mysqlq​uery(sql, $mysql_conn);

while (t=mysqlfetcharray(t = mysql_fetch_array(t=mysqlf​etcha​rray(field_result) ) {

$fields[] = $t;

}

tables[tables[tables[k][‘COLUMN’] = $fields;

}

mysql_close($mysql_conn);

$html = ‘’;

//循环所有表

foreach ($tables AS k=>k=>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.'

';

echo ‘

’.$title.’’;

echo $html;

echo ‘’;

}

/**

* 生成mysql数据字典

*/

header("Content-type:text/html;charset=utf-8");

// 配置数据库

$database = array();

$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']}") or die("Mysql connect is error.");

mysql_select_db($database['DB_NAME'], $mysql_conn);

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

mysql_query("set names 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']}' 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 .= '';

$html .= '';

$html .= '';

foreach($v['COLUMN'] AS $f)

{

$html .= '';

$html .= '';

$html .= '';

$html .= '';

$html .= '';

$html .= '';

$html .= '';

}

$html .= '表名:' . $v['TABLE_NAME'] . ' ' . $v['TABLE_COMMENT'] . '字段名数据类型默认值允许非空自动递增备注

' . $f['COLUMN_NAME'] . '' . $f['COLUMN_TYPE'] . '' . $f['COLUMN_DEFAULT'] . '' . $f['IS_NULLABLE'] . '' . ($f['EXTRA'] == 'auto_increment'?'是':' ') . '' . $f['COLUMN_COMMENT'] . '';

}

/* 生成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 '

自动生成数据字典

';

echo '

'.$database['DB_NAME'].'数据字典';

echo '

生成时间:' . date('Y-m-d H:i:s') . '';

echo $html;

echo '

总共:' . count($tables) . '个数据表';

echo '';

?>

php实现小说字典功能_四十章 PHP实现获取并生成数据库字典的方法相关推荐

  1. php实现小说字典功能_PHP实现获取并生成数据库字典的方法

    本文实例讲述了PHP实现获取并生成数据库字典的方法.分享给大家供大家参考,具体如下: /** * 生成mysql数据字典 */ header("Content-type:text/html; ...

  2. arcgis 属性表中起点终点创建线_一种GIS单线路网自动生成双线路网的方法与流程...

    本发明涉及GIS路网领域,尤其是涉及一种GIS单线路网自动生成双线路网 的方法. 背景技术: GIS路网是将真实道路,通过GIS数据的形式可视化表达出来.目前主流的 道路网模型是单线双属性的节点-路段 ...

  3. 不用工具生成数据库字典

    可能是我太落伍了,今天才知道SQL2005的扩展属性还可以这么用. 数据字典的重要性就不用多说了,再小的开发团队,甚至只有一个人,这个东西也不可或缺,否则日后发生问题那才要命 以前的数据字典都要单独拿 ...

  4. 一加手机怎么root权限_一加手机X获取root权限最简单的方法!

    原标题:一加手机X获取root权限最简单的方法! 有很多人都争论root到底好不好,有些手机root之后从此不能保修,因此很排斥root,这些人对手机要求不高,比较保守,也可以说是还没有领略到root ...

  5. windows功能_四款功能强大的windows软件,个个都是精品!

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都有分享,完全是免费订阅,请放心关注. 注:本文转载自网络,不代表 ...

  6. dmol3给定关键字不在字典中_一日一技:举例说明python中的map()方法

    map()函数 Python 的map()方法,作为输入提供的迭代器的所有元素应用函数. 例如,迭代器可以是列表,元组,集合,字典,字符串,并且它返回可迭代的映射对象. 另外,map()是python ...

  7. python定义字典列表_[Python基础]五、列表、元组和字典

    5.1 列表List(列表)是Python中最频繁的数据类型,在其他语言中叫数组 专门用于存储一串信息 列表用[]定义,数据之间使用逗号隔开 列表的索引从0开始 5.1.1列表常用操作 name_li ...

  8. mysql添加字典子项_如何使用executemany在MySQL中插入Python字典列表

    我目前正在使用MySQL和Python从网络上抓取数据.具体来说,我正在抓取表数据并将其插入到数据库中.我当前的解决方案可以工作,但是我觉得它效率极低,如果不重写代码,很可能会锁定数据库.这是我当前使 ...

  9. java字典初始化_在Java中用一组特定的数据初始化字典

    我很好奇我如何更有效地实例化Java中的字典.目前我有可以通过的代码,但我用非常混淆的方式填充数据.在Java中用一组特定的数据初始化字典 有什么办法让我初始化我的字典吗?这是蟒蛇的记录: weste ...

最新文章

  1. 在Win10下如何实现VS下工程代码的开机自启功能
  2. C#实现rabbitmq 延迟队列功能
  3. Jmeter工具笔记-Jmeter+influxdb+grafanas设置性能监控过程
  4. 好好学python·函数
  5. phpAdmin数据库管理套件
  6. statistics DATA in jiangsu
  7. VTK:可视化算法之ColoredAnnotatedCube
  8. 经典C语言程序100例之六四
  9. 英语磁带与计算机磁带区别,小学教材仍配发英语磁带遭吐槽:谁还用录音机
  10. 学分绩点计算编程java_方便我们计算学分绩点的JavaScript
  11. java 方法 示例_Java集合的lastlastIndexOfSubList()方法和示例
  12. content:\2b 是什么意义
  13. 驱动精灵修复服务器,驱动精灵一键修复系统组件工具
  14. Linux 交换分区
  15. 【python】pyi文件
  16. 设备管理器设置了不允许鼠标唤醒电脑,但是鼠标还是会唤醒电脑的解决方法
  17. MySQL 云数据库物理备份本地恢复方案
  18. My Deep Learning Paper Lib(2019)
  19. 【C++】vector添加元素
  20. 可视化表格软件-FineReport图表跨sheet引用单元格数据

热门文章

  1. 【PAT笔记】C++标准模板库STL(二)——set的用法和示例
  2. 优化算法:粒子群算法,遗传算法,差分进化算法
  3. 重磅推荐几个接私活的利器!
  4. 5年前的Dubbo,2年前的Spring Cloud,都输给了这个架构!
  5. 【struts2+hibernate+spring项目实战】分页功能的完整的实现(通用分页、基类实现)
  6. JOptionPane的常用4种对话框
  7. 【Spring注解系列06】FactoryBean注入对象用法
  8. JavaEE之使用DOM4J和XPath对xml文档的添加,删除,查询操作
  9. 决策树之 C4.5 算法
  10. VueX(Vue状态管理模式)