把mysql数据库生成数据字典,直接可用便于查看数据库表、字段,做一个数据字典是很有必要的,下面只需要简单更改下配置就可以用了,样式也是挺好的。
<?php header(\'content-type:text/html;charset=utf-8\'); define(\'DB_HOST\',\'localhost\'); define(\'DB_USER\',\'root\'); define(\'DB_PASS\',\'root\'); define(\'DB_NAME\',\'stayed_cn_db\'); define(\'DB_PORT\',3306); define(\'DB_CHAR\',\'utf8\'); define(\'APPNAME\',\'\'); $conn=mysql_connect(DB_HOST.\':\'.DB_PORT,DB_USER,DB_PASS); mysql_select_db(DB_NAME); mysql_query(\'set names \' . DB_CHAR); $sql="SHOW TABLE STATUS FROM " . DB_NAME; $result=mysql_query($sql); $array=array(); while($rows=mysql_fetch_assoc($result)){ $array[]=$rows; } // table count $tab_count = count($array); echo \'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="zh"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>\'.APPNAME.\'--数据字典</title> <style type="text/css"> table caption, table th, table td { padding: 0.1em 0.5em 0.1em 0.5em; margin: 0.1em; vertical-align: top; } th { font-weight: bold; color: black; background: #D3DCE3; } table tr.odd th, .odd { background: #E5E5E5; } table tr.even th, .even { background: #f3f3f3; } .db_table{ border-top:1px solid #333; } .title{font-weight:bold;} </style> </head> <body> <div style="text-align:center;background:#D3DCE3;font-size:19px;"> <b>\'.APPNAME.\'--数据字典</b> </div> <div style="background:#f3f3f3;text-align:center;">(注:共\'.$tab_count.\'张表,按ctrl+F查找关键字)</div>\'."\\n"; for($i=0;$i<$tab_count;$i++){ echo \'<ul type="square">\'."\\n"; echo \' <li class="title">\'; echo ($i+1).\'、表名:[\' . $array[$i][\'Name\'] . \'] 注释:\' . $array[$i][\'Comment\']; echo \'</li>\'."\\n"; //查询数据库字段信息 $tab_name = $array[$i][\'Name\']; $sql_tab=\'show full fields from `\' . $array[$i][\'Name\'].\'`\'; $tab_result=mysql_query($sql_tab); $tab_array=array(); while($r=mysql_fetch_assoc($tab_result)){ $tab_array[]=$r; } //show keys $keys_result=mysql_query("show keys from `".$array[$i][\'Name\'].\'`\',$conn); $arr_keys=mysql_fetch_array($keys_result); echo \'<li style="list-style: none outside none;"><table border="0" class="db_table" >\'; echo \'<tr class="head"> <th style="width:110px">字段</th> <th>类型</th> <th>为空</th> <th>额外</th> <th>默认</th> <th style="width:95px">整理</th> <th>备注</th></tr>\'; for($j=0;$j<count($tab_array);$j++){ $key_name=$arr_keys[\'Key_name\']; if($key_name="PRIMARY"){ $key_name=\'主键(\'.$key_name.\')\'; } $key_field=$arr_keys[\'Column_name\']; if ( $tab_array[$j][\'Field\']==$key_field){ $key_value="PK"; }else{ $key_value=""; } echo \' <tr class="\'.($j%2==0?"odd":"even").\'">\'."\\n"; echo \' <td>\' . $tab_array[$j][\'Field\'] . \'</td>\'."\\n"; echo \' <td>\' . $tab_array[$j][\'Type\'] . \'</td>\'."\\n"; echo \' <td>\' . ($key_value!=\'\'?$key_value:$tab_array[$j][\'Null\']) . \'</td>\'."\\n"; echo \' <td>\' . $tab_array[$j][\'Extra\'] . \'</td>\'."\\n"; echo \' <td>\' . $tab_array[$j][\'Default\'] . \'</td>\'."\\n"; echo \' <td>\' . $tab_array[$j][\'Collation\'] . \'</td>\'."\\n"; echo \' <td>\' . ($key_value!=\'\'?$key_name:$tab_array[$j][\'Comment\']) . \'</td>\'."\\n"; echo \' </tr>\'."\\n"; } echo \' </table></li>\'."\\n"; echo \'</ul>\'."\\n"; } echo \'</body>\'."\\n"; echo \'</html>\'."\\n";
以上就是本文的全部内容,希望对大家的学习有所帮助。
本文地址:https://www.stayed.cn/item/227
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我