>백엔드 개발 >PHP 튜토리얼 >데이터 사전 함수 생성의 PHP 구현 예

데이터 사전 함수 생성의 PHP 구현 예

jacklove
jacklove원래의
2018-06-22 15:48:181492검색

이 글에서는 주로 PHP의 데이터 사전 생성 기능을 소개합니다. 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;;
?>

관심이 있을 만한 기사:

CodeIgniter 프레임워크의 기본 작업에 대한 관련 설명 데이터베이스

PHP에서 이번 주의 모든 날짜 또는 지난 7일의 모든 날짜를 얻는 방법

php lcg_value 및 mt_rand는 0~1개의 임의 소수점 생성 효과를 비교합니다

위 내용은 데이터 사전 함수 생성의 PHP 구현 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.