1); if ($multi_tables) { $tbl_list = ''; while (list($key, $table) = each($the_tables)) { $tbl_list .= (empty($tbl_list) ? '' : ', ') . PMA_backquote(urldecode($table)); } echo ''. $strShowTables . ' : ' . $tbl_list . '' . "\n"; echo '
' . "\n"; } // end if reset($the_tables); while (list($key, $table) = each($the_tables)) { $table = urldecode($table); // if ($multi_tables) { echo '
' . "\n"; echo '

' . $table . '

' . "\n"; // } // end if /** * Gets table informations */ // The 'show table' statement works correct since 3.23.03 if (PMA_MYSQL_INT_VERSION >= 32303) { $local_query = 'SHOW TABLE STATUS LIKE \'' . PMA_sqlAddslashes($table, TRUE) . '\''; $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url); $showtable = mysql_fetch_array($result); $num_rows = (isset($showtable['Rows']) ? $showtable['Rows'] : 0); $show_comment = (isset($showtable['Comment']) ? $showtable['Comment'] : ''); } else { $local_query = 'SELECT COUNT(*) AS count FROM ' . PMA_backquote($table); $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url); $showtable = array(); $num_rows = mysql_result($result, 0, 'count'); $show_comment = ''; } // end display comments if ($result) { mysql_free_result($result); } /** * Gets table keys and retains them */ $local_query = 'SHOW KEYS FROM ' . PMA_backquote($table); $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url); $primary = ''; $indexes = array(); $lastIndex = ''; $indexes_info = array(); $indexes_data = array(); $pk_array = array(); // will be use to emphasis prim. keys in the table // view while ($row = mysql_fetch_array($result)) { // Backups the list of primary keys if ($row['Key_name'] == 'PRIMARY') { $primary .= $row['Column_name'] . ', '; $pk_array[$row['Column_name']] = 1; } // Retains keys informations if ($row['Key_name'] != $lastIndex ){ $indexes[] = $row['Key_name']; $lastIndex = $row['Key_name']; } $indexes_info[$row['Key_name']]['Sequences'][] = $row['Seq_in_index']; $indexes_info[$row['Key_name']]['Non_unique'] = $row['Non_unique']; if (isset($row['Cardinality'])) { $indexes_info[$row['Key_name']]['Cardinality'] = $row['Cardinality']; } // I don't know what does following column mean.... // $indexes_info[$row['Key_name']]['Packed'] = $row['Packed']; $indexes_info[$row['Key_name']]['Comment'] = $row['Comment']; $indexes_data[$row['Key_name']][$row['Seq_in_index']]['Column_name'] = $row['Column_name']; if (isset($row['Sub_part'])) { $indexes_data[$row['Key_name']][$row['Seq_in_index']]['Sub_part'] = $row['Sub_part']; } } // end while if ($result) { mysql_free_result($result); } /** * Gets fields properties */ $local_query = 'SHOW FIELDS FROM ' . PMA_backquote($table); $result = mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url); $fields_cnt = mysql_num_rows($result); // check if we can use Relations (Mike Beck) $rel_work=FALSE; $rel_query = 'SHOW TABLES'; $tables = @mysql_query($rel_query) or PMA_mysqlDie('', $rel_query, '', $err_url); while($ctable = @mysql_fetch_array($tables)){ if($ctable[0] == $cfgServer['relation']){ $rel_work=TRUE; } } if($rel_work){ unset($res_rel); // Find which tables are related with the current one and write it in an array $rel_query = 'SELECT src_column,concat(dest_table,\'->\',dest_column) as rel '; $rel_query .= 'FROM ' . PMA_backquote($cfgServer['relation']); $rel_query .= ' WHERE src_table = \'' . urldecode($table) .'\''; $relations = @mysql_query($rel_query) or PMA_mysqlDie('', $rel_query, '', $err_url); $res_rel = array(); while ($relrow = @mysql_fetch_array($relations)){ $col = $relrow['src_column']; $res_rel[$col]=$relrow['rel']; //debug echo "col: ".$col." - ". $relrow['rel']."
"; } if(count($res_rel)>0){ $have_rel=TRUE; }else{ $have_rel=FALSE; } } // /** * Displays the comments of the table if MySQL >= 3.23 */ if (!empty($show_comment)) { echo $strTableComments . ' : ' . $show_comment . '

'; } /** * Displays the table structure */ ?> '. ucfirst($strLinksTo).''; } ?> NULL'; } } else { $row['Default'] = htmlspecialchars($row['Default']); } $field_name = htmlspecialchars($row['Field']); echo "\n"; ?> '; if (isset($res_rel[$field_name])) { echo htmlspecialchars($res_rel[$field_name]); } echo ' ' . "\n"; } ?>
' . $field_name . ''; } else { echo $field_name; } ?>  >      
0) { echo "\n"; ?>

  ' . "\n"; echo ' ' . "\n"; echo $index_td . ' ' . htmlspecialchars($index_name) . "\n" . ' ' . "\n"; if ($indexes_info[$index_name]['Comment'] == 'FULLTEXT') { $index_type = 'FULLTEXT'; } else if ($index_name == 'PRIMARY') { $index_type = 'PRIMARY'; } else if ($indexes_info[$index_name]['Non_unique'] == '0') { $index_type = 'UNIQUE'; } else { $index_type = 'INDEX'; } echo $index_td . ' ' . $index_type . "\n" . ' ' . "\n"; echo $index_td . ' ' . (isset($indexes_info[$index_name]['Cardinality']) ? $indexes_info[$index_name]['Cardinality'] : $strNone) . "\n" . ' ' . "\n"; while (list($row_no, $seq_index) = each($indexes_info[$index_name]['Sequences'])) { if ($row_no > 0) { echo ' ' . "\n"; } if (!empty($indexes_data[$index_name][$seq_index]['Sub_part'])) { echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; } else { echo ' ' . "\n"; echo ' ' . "\n"; } } // end while } // end while echo "\n"; ?>
' . "\n" . ' ' . $indexes_data[$index_name][$seq_index]['Column_name'] . "\n" . ' ' . "\n" . ' ' . $indexes_data[$index_name][$seq_index]['Sub_part'] . "\n" . '
' . "\n" . ' ' . $indexes_data[$index_name][$seq_index]['Column_name'] . "\n" . '
= 32303 && $nonisam == FALSE) { // Gets some sizes $mergetable = FALSE; if (isset($showtable['Type']) && $showtable['Type'] == 'MRG_MyISAM') { $mergetable = TRUE; } list($data_size, $data_unit) = PMA_formatByteDown($showtable['Data_length']); if ($mergetable == FALSE) { list($index_size, $index_unit) = PMA_formatByteDown($showtable['Index_length']); } if (isset($showtable['Data_free']) && $showtable['Data_free'] > 0) { list($free_size, $free_unit) = PMA_formatByteDown($showtable['Data_free']); list($effect_size, $effect_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length'] - $showtable['Data_free']); } else { unset($free_size); unset($free_unit); list($effect_size, $effect_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length']); } list($tot_size, $tot_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length']); if ($num_rows > 0) { list($avg_size, $avg_unit) = PMA_formatByteDown(($showtable['Data_length'] + $showtable['Index_length']) / $showtable['Rows'], 6, 1); } // Displays them ?>

 
    0) { $bgcolor = ((++$i%2) ? $cfg['BgcolorTwo'] : $cfg['BgcolorOne']); echo "\n"; ?> 0 && $mergetable == FALSE) { $bgcolor = ((++$i%2) ? $cfg['BgcolorTwo'] : $cfg['BgcolorOne']); echo "\n"; ?>
 ø
 ø
 Autoindex
= 32303 && $nonisam == FALSE) } // end if ($cfg['ShowStats']) echo "\n"; if ($multi_tables) { unset($ret_keys); unset($num_rows); unset($show_comment); echo '
' . "\n"; echo '
' . "\n"; } // end if } // end while /** * Displays the footer */ echo "\n"; require('./footer.inc.php3'); ?>