<?php $dbserver = "localhost"; $dbusername="root"; $dbpassword="fang"; $title = '数据字典'; if($_GET['db'] == ''){ $database = "dog123"; }else{ $database = $_GET['db']; } $mysql_conn = @mysql_connect("{$dbserver}","{$dbusername}","{$dbpassword}") or die("Mysql
connect is error."); mysql_select_db($database,$mysql_conn); $result = mysql_query('show tables',$mysql_conn); mysql_query('SET NAME GBK',$mysql_conn); //取得所有表名 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}'"; $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}'"; $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 = ''; //循环所有表 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'].' |
'; } echo ' '; echo '
'.$title.'
'; echo $html; echo ''; ?>