ホームページ  >  記事  >  バックエンド開発  >  PHPはデータ辞書を生成する機能を実現します

PHPはデータ辞書を生成する機能を実現します

不言
不言オリジナル
2018-06-01 10:28:321535ブラウズ

この記事では主に、PHP の一般的な mysql 接続、データ テーブル クエリ、トラバーサル、テーブル テーブルの構成、およびその他の関連操作スキルを含むデータ ディクショナリ生成関数の PHP 実装を紹介します。必要な方は参考にしてください。実装例とデータ ディクショナリ関数を生成します。ご参考までに、詳細は次のとおりです。

最近は時間がなくて、ブログを投稿する時間がありません。この時間を利用して、知識ポイントを共有します。 。開発を行っていると、データベースを分析してデータ ディクショナリを作成するという問題に遭遇することがよくありますが、その必要はありません。送信したリンクに従うだけで、データ ディクショナリを簡単に設計できます。データ ディクショナリ ツールをダウンロードする必要があります。開発者であれば、ほんの数行のコードでこの知識を得ることができるはずです。ここでは、以下のコードを変更するだけで済みます。データベースアカウントとパスワードを入力して実行します。

エフェクト表示:

くだらない話をした後、ついにコードを書き始めました:

<?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;;
?>

以上がこの記事の全内容です、皆さん読んでいただきありがとうございます。詳細については、PHP 中国語 Web サイトを参照してください。

関連する推奨事項:

PHPは、CURLを介してファイルをアップロードする機能を実装します


PHPは、データベースに画像をアップロードし、出力を表示するメソッドを実装します


以上がPHPはデータ辞書を生成する機能を実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。