Home >Backend Development >PHP Tutorial >PHP realizes the function of generating data dictionary

PHP realizes the function of generating data dictionary

不言
不言Original
2018-06-01 10:28:321614browse

This article mainly introduces the function of generating data dictionary in PHP, involving PHP's common connection, data table query, traversal, table table composition and other related operation skills for mysql. Friends who need it can refer to it

The example in this article describes how PHP implements the function of generating a data dictionary. I would like to share it with you for your reference. The details are as follows:

I am pressed for time recently and have no time to post a blog. I would like to share a knowledge point with you while I have some time now. When we are doing development, we may often encounter the problem of analyzing the database and making a data dictionary. Now the benefit is here. You only need to follow the link I sent to easily help you design the data dictionary. You don’t need to download the data dictionary tool. As a developer, you should be able to get this knowledge with just a few lines of code. So I won’t go into nonsense now. Look at the code below. You only need to change your database account and Just enter the password and run it.

Effect display:

After talking so much nonsense, I finally started writing code:


<?php
/**
* 生成mysql数据字典
*/
//配置数据库
$dbserver  = "127.0.0.1";
$dbusername = "账号";
$dbpassword = "密码";
$database   = "数据库";
//其他配置
$title = &#39;数据字典&#39;;
$mysql_conn = @mysql_connect("$dbserver", "$dbusername", "$dbpassword") or die("Mysql connect is error.");
mysql_select_db($database, $mysql_conn);
mysql_query(&#39;SET NAMES utf8&#39;, $mysql_conn);
$table_result = mysql_query(&#39;show tables&#39;, $mysql_conn);
//取得所有的表名
while ($row = mysql_fetch_array($table_result)) {
   $tables[][&#39;TABLE_NAME&#39;] = $row[0];
}
//循环取得所有表的备注及表中列消息
foreach ($tables AS $k=>$v) {
   $sql = &#39;SELECT * FROM &#39;;
   $sql .= &#39;INFORMATION_SCHEMA.TABLES &#39;;
   $sql .= &#39;WHERE &#39;;
   $sql .= "table_name = &#39;{$v[&#39;TABLE_NAME&#39;]}&#39; AND table_schema = &#39;{$database}&#39;";
   $table_result = mysql_query($sql, $mysql_conn);
   while ($t = mysql_fetch_array($table_result) ) {
     $tables[$k][&#39;TABLE_COMMENT&#39;] = $t[&#39;TABLE_COMMENT&#39;];
   }
   $sql = &#39;SELECT * FROM &#39;;
   $sql .= &#39;INFORMATION_SCHEMA.COLUMNS &#39;;
   $sql .= &#39;WHERE &#39;;
   $sql .= "table_name = &#39;{$v[&#39;TABLE_NAME&#39;]}&#39; AND table_schema = &#39;{$database}&#39;";
   $fields = array();
   $field_result = mysql_query($sql, $mysql_conn);
   while ($t = mysql_fetch_array($field_result) ) {
     $fields[] = $t;
   }
   $tables[$k][&#39;COLUMN&#39;] = $fields;
}
mysql_close($mysql_conn);
$html = &#39;&#39;;
//循环所有表
foreach ($tables AS $k=>$v) {
   //$html .= &#39;<p><h2>&#39;. $v[&#39;TABLE_COMMENT&#39;] . &#39; </h2>&#39;;
   $html .= &#39;<table border="1" cellspacing="0" cellpadding="0" align="center">&#39;;
   $html .= &#39;<caption>&#39; . $v[&#39;TABLE_NAME&#39;] .&#39; &#39;. $v[&#39;TABLE_COMMENT&#39;]. &#39;</caption>&#39;;
   $html .= &#39;<tbody><tr><th>字段名</th><th>数据类型</th><th>默认值</th>
   <th>允许非空</th>
   <th>自动递增</th><th>备注</th></tr>&#39;;
   $html .= &#39;&#39;;
   foreach ($v[&#39;COLUMN&#39;] AS $f) {
     $html .= &#39;<tr><td class="c1">&#39; . $f[&#39;COLUMN_NAME&#39;] . &#39;</td>&#39;;
     $html .= &#39;<td class="c2">&#39; . $f[&#39;COLUMN_TYPE&#39;] . &#39;</td>&#39;;
     $html .= &#39;<td class="c3"> &#39; . $f[&#39;COLUMN_DEFAULT&#39;] . &#39;</td>&#39;;
     $html .= &#39;<td class="c4"> &#39; . $f[&#39;IS_NULLABLE&#39;] . &#39;</td>&#39;;
     $html .= &#39;<td class="c5">&#39; . ($f[&#39;EXTRA&#39;]==&#39;auto_increment&#39;?&#39;是&#39;:&#39; &#39;) . &#39;</td>&#39;;
     $html .= &#39;<td class="c6"> &#39; . $f[&#39;COLUMN_COMMENT&#39;] . &#39;</td>&#39;;
     $html .= &#39;</tr>&#39;;
   }
   $html .= &#39;</tbody></table></p>&#39;;
}
//输出
echo &#39;<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>&#39;.$title.&#39;</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>
</head>
<body>&#39;;
echo &#39;<h1 style="text-align:center;">&#39;.$title.&#39;</h1>&#39;;
echo $html;
echo &#39;</body></html>&#39;;
?>

The above is the entire content of this article, thank you for reading. Please pay attention to the PHP Chinese website for more information!

Related recommendations:

PHP implements the function of uploading files through CURL

PHP implements the function of uploading images to the database and displaying the output method

The above is the detailed content of PHP realizes the function of generating data dictionary. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn