標籤:
<?php/** * 產生mysql資料字典word */// 設定資料庫$database = array();$database[‘DB_HOST‘] = ‘127.0.0.1‘;$database[‘DB_NAME‘] = ‘cqhshop‘;$database[‘DB_USER‘] = ‘root‘;$database[‘DB_PWD‘] = ‘123456‘;$mysql_conn = @mysql_connect("{$database[‘DB_HOST‘]}", "{$database[‘DB_USER‘]}", "{$database[‘DB_PWD‘]}") or die("Mysql connect is error.");mysql_select_db($database[‘DB_NAME‘], $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[‘DB_NAME‘]}‘";$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[‘DB_NAME‘]}‘";$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 .= ‘<table style="text-align:center;" border="1" cellspacing="0" cellpadding="0" align="center">‘;$html .= ‘<caption>表名:‘ . $v[‘TABLE_NAME‘] . ‘ ‘ . $v[‘TABLE_COMMENT‘] . ‘</caption>‘;$html .= ‘<tbody><tr><th>欄位名</th><th>資料類型</th><th>預設值</th><th>允許非空</th><th>自動遞增</th><th>備忘</th></tr>‘;$html .= ‘‘;foreach($v[‘COLUMN‘] AS $f){$html .= ‘<td class="c1">‘ . $f[‘COLUMN_NAME‘] . ‘</td>‘;$html .= ‘<td class="c2">‘ . $f[‘COLUMN_TYPE‘] . ‘</td>‘;$html .= ‘<td class="c3">‘ . $f[‘COLUMN_DEFAULT‘] . ‘</td>‘;$html .= ‘<td class="c4">‘ . $f[‘IS_NULLABLE‘] . ‘</td>‘;$html .= ‘<td class="c5">‘ . ($f[‘EXTRA‘] == ‘auto_increment‘?‘是‘:‘ ‘) . ‘</td>‘;$html .= ‘<td class="c6">‘ . $f[‘COLUMN_COMMENT‘] . ‘</td>‘;$html .= ‘</tr>‘;}$html .= ‘</tbody></table>‘; $html .= ‘<br /><br />‘;}// 輸出header ( "Content-type:application/vnd.ms-word" );header ( "Content-Disposition:attachment;filename={$database[‘DB_NAME‘]}資料字典.doc" );echo $html;?>
PHP產生mysql資料字典word