is used
*/
if (isset($_REQUEST['submit_mult_change_x'])) {
$submit_mult = $strChange;
} elseif (isset($_REQUEST['submit_mult_drop_x'])) {
$submit_mult = $strDrop;
} elseif (isset($_REQUEST['submit_mult_primary_x'])) {
$submit_mult = $strPrimary;
} elseif (isset($_REQUEST['submit_mult_index_x'])) {
$submit_mult = $strIndex;
} elseif (isset($_REQUEST['submit_mult_unique_x'])) {
$submit_mult = $strUnique;
} elseif (isset($_REQUEST['submit_mult_fulltext_x'])) {
$submit_mult = $strIdxFulltext;
} elseif (isset($_REQUEST['submit_mult_browse_x'])) {
$submit_mult = $strBrowse;
} elseif (isset($_REQUEST['submit_mult'])) {
$submit_mult = $_REQUEST['submit_mult'];
} elseif (isset($_REQUEST['mult_btn']) && $_REQUEST['mult_btn'] == $strYes) {
$submit_mult = 'row_delete';
if (isset($_REQUEST['selected'])) {
$_REQUEST['selected_fld'] = $_REQUEST['selected'];
}
}
if (! empty($submit_mult) && isset($_REQUEST['selected_fld'])) {
$err_url = 'tbl_structure.php?' . PMA_generate_common_url($db, $table);
if ($submit_mult == $strBrowse) {
// browsing the table displaying only selected fields/columns
$GLOBALS['active_page'] = 'sql.php';
$sql_query = '';
foreach ($_REQUEST['selected_fld'] as $idx => $sval) {
if ($sql_query == '') {
$sql_query .= 'SELECT ' . PMA_backquote($sval);
} else {
$sql_query .= ', ' . PMA_backquote($sval);
}
}
// what is this htmlspecialchars() for??
//$sql_query .= ' FROM ' . PMA_backquote(htmlspecialchars($table));
$sql_query .= ' FROM ' . PMA_backquote($db) . '.' . PMA_backquote($table);
require './sql.php';
exit;
} else {
// handle multiple field commands
// handle confirmation of deleting multiple fields/columns
$action = 'tbl_structure.php';
require './libraries/mult_submits.inc.php';
//require_once './libraries/header.inc.php';
//require_once './libraries/tbl_links.inc.php';
if (empty($message)) {
$message = PMA_Message::success();
}
}
}
/**
* Gets the relation settings
*/
$cfgRelation = PMA_getRelationsParam();
/**
* Runs common work
*/
require_once './libraries/tbl_common.php';
$url_query .= '&goto=tbl_structure.php&back=tbl_structure.php';
$url_params['goto'] = 'tbl_structure.php';
$url_params['back'] = 'tbl_structure.php';
/**
* Prepares the table structure display
*/
/**
* Gets tables informations
*/
require_once './libraries/tbl_info.inc.php';
/**
* Displays top menu links
*/
require_once './libraries/tbl_links.inc.php';
require_once './libraries/Index.class.php';
// 2. Gets table keys and retains them
// @todo should be: $server->db($db)->table($table)->primary()
$primary = PMA_Index::getPrimary($table, $db);
// 3. Get fields
$fields_rs = PMA_DBI_query('SHOW FULL FIELDS FROM ' . PMA_backquote($table) . ';', null, PMA_DBI_QUERY_STORE);
$fields_cnt = PMA_DBI_num_rows($fields_rs);
// Get more complete field information
// For now, this is done just for MySQL 4.1.2+ new TIMESTAMP options
// but later, if the analyser returns more information, it
// could be executed for any MySQL version and replace
// the info given by SHOW FULL FIELDS FROM.
//
// We also need this to correctly learn if a TIMESTAMP is NOT NULL, since
// SHOW FULL FIELDS or INFORMATION_SCHEMA incorrectly says NULL
// and SHOW CREATE TABLE says NOT NULL (tested
// in MySQL 4.0.25 and 5.0.21, http://bugs.mysql.com/20910).
$show_create_table = PMA_DBI_fetch_value(
'SHOW CREATE TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table),
0, 1);
$analyzed_sql = PMA_SQP_analyze(PMA_SQP_parse($show_create_table));
/**
* prepare table infos
*/
// action titles (image or string)
$titles = array();
$titles['Change'] = PMA_getIcon('b_edit.png', $strChange, true);
$titles['Drop'] = PMA_getIcon('b_drop.png', $strDrop, true);
$titles['NoDrop'] = PMA_getIcon('b_drop.png', $strDrop, true);
$titles['Primary'] = PMA_getIcon('b_primary.png', $strPrimary, true);
$titles['Index'] = PMA_getIcon('b_index.png', $strIndex, true);
$titles['Unique'] = PMA_getIcon('b_unique.png', $strUnique, true);
$titles['IdxFulltext'] = PMA_getIcon('b_ftext.png', $strIdxFulltext, true);
$titles['NoPrimary'] = PMA_getIcon('bd_primary.png', $strPrimary, true);
$titles['NoIndex'] = PMA_getIcon('bd_index.png', $strIndex, true);
$titles['NoUnique'] = PMA_getIcon('bd_unique.png', $strUnique, true);
$titles['NoIdxFulltext'] = PMA_getIcon('bd_ftext.png', $strIdxFulltext, true);
$titles['BrowseDistinctValues'] = PMA_getIcon('b_browse.png', $strBrowseDistinctValues, true);
/**
* Displays the table structure ('show table' works correct since 3.23.03)
*/
/* TABLE INFORMATION */
// table header
$i = 0;
?>
';
}
echo $strPrintView;
?>
';
}
echo $strRelationView;
?>
';
}
echo $strStructPropose;
?>
20) {
require './libraries/tbl_links.inc.php';
} // end if ($fields_cnt > 20)
/**
* Displays indexes
*/
PMA_generate_slider_effect('tablestatistics_indexes', $strDetails);
if (! $tbl_is_view && ! $db_is_information_schema && 'ARCHIVE' != $tbl_type) {
/**
* Display indexes
*/
echo PMA_Index::getView($table, $db);
?>
' . "\n";
/**
* Displays Space usage and row statistics
*/
// BEGIN - Calc Table Space - staybyte - 9 June 2001
// loic1, 22 feb. 2002: updated with patch from
// Joshua Nye to get valid
// statistics whatever is the table type
if ($cfg['ShowStats']) {
$nonisam = false;
$is_innodb = (isset($showtable['Type']) && $showtable['Type'] == 'InnoDB');
if (isset($showtable['Type']) && !preg_match('@ISAM|HEAP@i', $showtable['Type'])) {
$nonisam = true;
}
// Gets some sizes
$mergetable = false;
if (isset($showtable['Type']) && $showtable['Type'] == 'MRG_MyISAM') {
$mergetable = true;
}
// this is to display for example 261.2 MiB instead of 268k KiB
$max_digits = 5;
$decimals = 1;
list($data_size, $data_unit) = PMA_formatByteDown($showtable['Data_length'], $max_digits, $decimals);
if ($mergetable == false) {
list($index_size, $index_unit) = PMA_formatByteDown($showtable['Index_length'], $max_digits, $decimals);
}
if (isset($showtable['Data_free']) && $showtable['Data_free'] > 0) {
list($free_size, $free_unit) = PMA_formatByteDown($showtable['Data_free'], $max_digits, $decimals);
list($effect_size, $effect_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length'] - $showtable['Data_free'], $max_digits, $decimals);
} else {
list($effect_size, $effect_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length'], $max_digits, $decimals);
}
list($tot_size, $tot_unit) = PMA_formatByteDown($showtable['Data_length'] + $showtable['Index_length'], $max_digits, $decimals);
if ($table_info_num_rows > 0) {
list($avg_size, $avg_unit) = PMA_formatByteDown(($showtable['Data_length'] + $showtable['Index_length']) / $showtable['Rows'], 6, 1);
}
// Displays them
$odd_row = false;
?>
|
|
|
|
|
|
|
' . $tbl_collation . '';
?> |
|
|
0) {
?>
ø |
|
0 && $mergetable == false) {
?>
ø |
|
Autoindex |
|
|
|
|
|
|
|
' . "\n";
echo '' . "\n";
echo '' . "\n";
/**
* Displays the footer
*/
require_once './libraries/footer.inc.php';
?>