1);
if ($multi_tables) {
$tbl_list = '';
while (list($key, $table) = each($the_tables)) {
$tbl_list .= (empty($tbl_list) ? '' : ', ')
. PMA_backquote($table);
}
echo ''. $strShowTables . ' : ' . $tbl_list . '' . "\n";
} // end if
reset($the_tables);
while (list($key, $table) = each($the_tables)) {
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);
/**
* Displays the comments of the table is MySQL >= 3.23
*/
if (!empty($show_comment)) {
echo $strTableComments . ' : ' . $row['Comment'];
}
/**
* Displays the table structure
*/
?>
|
|
|
|
|
|
NULL';
}
} else {
$row['Default'] = htmlspecialchars($row['Default']);
}
$field_name = htmlspecialchars($row['Field']);
if (isset($pk_array[$row['Field']])) {
$field_name = '' . $field_name . '';
}
echo "\n";
?>
|
> |
|
|
|
|
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"
. ' ' . $indexes_data[$index_name][$seq_index]['Column_name'] . "\n"
. ' | ' . "\n";
echo ' ' . "\n"
. ' ' . $indexes_data[$index_name][$seq_index]['Sub_part'] . "\n"
. ' | ' . "\n";
echo '
' . "\n";
} else {
echo ' ' . "\n"
. ' ' . $indexes_data[$index_name][$seq_index]['Column_name'] . "\n"
. ' | ' . "\n";
echo ' ' . "\n";
}
} // end while
} // end while
echo "\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, $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) ? $cfgBgcolorTwo : $cfgBgcolorOne);
echo "\n";
?>
ø |
|
0 && $mergetable == FALSE) {
$bgcolor = ((++$i%2) ? $cfgBgcolorTwo : $cfgBgcolorOne);
echo "\n";
?>
ø |
|
Autoindex |
|
|
= 32303 && $nonisam == FALSE)
} // end if ($cfgShowStats)
echo "\n";
if ($multi_tables) {
unset($ret_keys);
unset($num_rows);
unset($show_comment);
echo '
' . "\n";
echo '