天天看點

資料字典 php,php生成資料字典資料庫資料字典

header("Content-type: text/html; charset=utf-8");

//配置資料庫

$dbserver = "127.0.0.1";

$dbusername = "root";

$dbpassword = "";

$database = "yidaimai002";

//其他配置

$mysql = new MySQLi("$dbserver", "$dbusername", "$dbpassword", "$database") or die("Mysql connect is error.");

$mysql -> set_charset('utf8');

$table_result = $mysql->query('show tables');

$no_show_table = array(); //不需要顯示的表

$no_show_field = array(); //不需要顯示的字段

//取得所有的表名

while($row = mysqli_fetch_array($table_result)){

if(!in_array($row[0],$no_show_table)){

$tables[]['TABLE_NAME'] = $row[0];

}

}

//替換是以表的表字首

// $prefix = 'ydm_';

// foreach($tables as $key => $val){

// $tableName = $val['TABLE_NAME'];

// $string = explode('',$tableName);

// if($string[0] != $prefix){

// $string[0] = $prefix;

// $newTableName = implode('', $string);

// $mysql->query('rename table '.$tableName.' TO '.$newTableName);

// }

// }

// echo "替換成功!";exit();

//循環取得所有表的備注及表中列消息

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

while ($t = mysqli_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);

while ($t = mysqli_fetch_array($field_result) ) {

$fields[] = $t;

}

$tables[$k]['COLUMN'] = $fields;

}

// $mysql->close($mysql_conn);

$html = '';

//循環所有表

foreach ($tables as $k=>$v) {

$html .= '

' . ($k + 1) . '、' . $v['TABLE_COMMENT'] .' ('. $v['TABLE_NAME']. ')

'."\n";

$html .= '

$html .= '

'."\n";

$html .= '

'."\n";

$html .= '

字段名'."\n";

$html .= '

資料類型'."\n";

$html .= '

預設值'."\n";

$html .= '

允許非空'."\n";

$html .= '

自動遞增'."\n";

$html .= '

備注'."\n";

$html .= '

'."\n";

foreach ($v['COLUMN'] as $f) {

if([email protected]_array($no_show_field[$v['TABLE_NAME']])){

$no_show_field[$v['TABLE_NAME']] = array();

}

if(!in_array($f['COLUMN_NAME'],$no_show_field[$v['TABLE_NAME']])){

$html .= '

'."\n";

$html .= '

' . $f['COLUMN_NAME'] . ''."\n";

$html .= '

' . $f['COLUMN_TYPE'] . ''."\n";

$html .= '

' . $f['COLUMN_DEFAULT'] . ''."\n";

$html .= '

' . $f['IS_NULLABLE'] . ''."\n";

$html .= '

' . ($f['EXTRA']=='auto_increment'?'是':' ') . ''."\n";

$html .= '

' . $f['COLUMN_COMMENT'] . ''."\n";

$html .= '

'."\n";

}

}

$html .= '

'."\n";

$html .= '

'."\n";

}

?>

資料庫資料字典

body, td, th { font-family: "微軟雅黑"; font-size: 14px; }

.warp{margin:auto; width:900px;}

.warp h3{margin:0px; padding:0px; line-height:30px; margin-top:10px;}

table { border-collapse: collapse; border: 1px solid #CCC; background: #efefef; }

table th { text-align: left; font-weight: bold; height: 26px; line-height: 26px; font-size: 14px; text-align:center; border: 1px solid #CCC; padding:5px;}

table td { height: 20px; font-size: 14px; border: 1px solid #CCC; background-color: #fff; padding:5px;}

.c1 { width: 120px; }

.c2 { width: 120px; }

.c3 { width: 150px; }

.c4 { width: 80px; text-align:center;}

.c5 { width: 80px; text-align:center;}

.c6 { width: 270px; }

資料庫資料字典