' . $strNoTablesFound . '

' . "\n"; if (empty($db_is_information_schema)) { require './libraries/display_create_table.lib.php'; } // end if (Create Table dialog) /** * Displays the footer */ require_once './libraries/footer.inc.php'; exit; } // else // 2. Shows table informations - staybyte - 11 June 2001 require_once './libraries/bookmark.lib.php'; if (PMA_MYSQL_INT_VERSION >= 40101) { require_once './libraries/mysql_charsets.lib.php'; $db_collation = PMA_getDbCollation($db); } // Display function /** * void PMA_TableHeader([bool $db_is_information_schema = false]) * display table header (...) * * @uses PMA_showHint() * @uses PMA_MYSQL_INT_VERSION * @uses $GLOBALS['cfg']['PropertiesNumColumns'] * @uses $GLOBALS['is_show_stats'] * @uses $GLOBALS['strTable'] * @uses $GLOBALS['strAction'] * @uses $GLOBALS['strRecords'] * @uses $GLOBALS['strApproximateCount'] * @uses $GLOBALS['strType'] * @uses $GLOBALS['strCollation'] * @uses $GLOBALS['strSize'] * @uses $GLOBALS['strOverhead'] * @uses $GLOBALS['structure_tbl_col_cnt'] * @param boolean $db_is_information_schema */ function PMA_TableHeader($db_is_information_schema = false) { $cnt = 0; // Let's count the columns... if ($db_is_information_schema) { $action_colspan = 3; } else { $action_colspan = 6; } echo '
' . "\n" .'' . "\n" .'' . "\n" .' ' . "\n" .' ' .' ' . "\n"; if (!($GLOBALS['cfg']['PropertiesNumColumns'] > 1)) { echo ' ' . "\n"; $cnt++; if (PMA_MYSQL_INT_VERSION >= 40100) { echo ' ' . "\n"; $cnt++; } } if ($GLOBALS['is_show_stats']) { echo ' ' . "\n" . ' ' . "\n"; $cnt += 2; } echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; $GLOBALS['structure_tbl_col_cnt'] = $cnt + $action_colspan + 3; } // end function PMA_TableHeader() $titles = array(); if (true == $cfg['PropertiesIconic']) { $titles['Browse'] = '' . $strBrowse . ''; $titles['NoBrowse'] = '' . $strBrowse . ''; $titles['Search'] = '' . $strSearch . ''; $titles['NoSearch'] = '' . $strSearch . ''; $titles['Insert'] = '' . $strInsert . ''; $titles['NoInsert'] = '' . $strInsert . ''; $titles['Structure'] = '' . $strStructure . ''; $titles['Drop'] = '' . $strDrop . ''; $titles['NoDrop'] = '' . $strDrop . ''; $titles['Empty'] = '' . $strEmpty . ''; $titles['NoEmpty'] = '' . $strEmpty . ''; if ('both' === $cfg['PropertiesIconic']) { $titles['Browse'] .= $strBrowse; $titles['Search'] .= $strSearch; $titles['NoBrowse'] .= $strBrowse; $titles['NoSearch'] .= $strSearch; $titles['Insert'] .= $strInsert; $titles['NoInsert'] .= $strInsert; $titles['Structure'] .= $strStructure; $titles['Drop'] .= $strDrop; $titles['NoDrop'] .= $strDrop; $titles['Empty'] .= $strEmpty; $titles['NoEmpty'] .= $strEmpty; } } else { $titles['Browse'] = $strBrowse; $titles['Search'] = $strSearch; $titles['NoBrowse'] = $strBrowse; $titles['NoSearch'] = $strSearch; $titles['Insert'] = $strInsert; $titles['NoInsert'] = $strInsert; $titles['Structure'] = $strStructure; $titles['Drop'] = $strDrop; $titles['NoDrop'] = $strDrop; $titles['Empty'] = $strEmpty; $titles['NoEmpty'] = $strEmpty; } /** * Displays the tables list */ $_url_params = array( 'pos' => $pos, 'db' => $db); PMA_listNavigator($total_num_tables, $pos, $_url_params, 'db_structure.php', 'frame_content', $GLOBALS['cfg']['MaxTableList']); ?> 1 ? ceil($num_tables / $cfg['PropertiesNumColumns']) + 1 : 0; $row_count = 0; $hidden_fields = array(); $odd_row = true; $at_least_one_view_exceeds_max_count = false; $sum_row_count_pre = ''; foreach ($tables as $keyname => $each_table) { if ($each_table['TABLE_ROWS'] === null || $each_table['TABLE_ROWS'] < $GLOBALS['cfg']['MaxExactCount']) { $each_table['COUNTED'] = true; $each_table['TABLE_ROWS'] = PMA_Table::countRecords($db, $each_table['TABLE_NAME'], $return = true, $force_exact = true); } else { $each_table['COUNTED'] = false; } $table_encoded = urlencode($each_table['TABLE_NAME']); // MySQL < 5.0.13 returns "view", >= 5.0.13 returns "VIEW" $table_is_view = ($each_table['TABLE_TYPE'] === 'VIEW' || $each_table['TABLE_TYPE'] === 'SYSTEM VIEW'); $alias = (!empty($tooltip_aliasname) && isset($tooltip_aliasname[$each_table['TABLE_NAME']])) ? str_replace(' ', ' ', htmlspecialchars($tooltip_truename[$each_table['TABLE_NAME']])) : str_replace(' ', ' ', htmlspecialchars($each_table['TABLE_NAME'])); $truename = (!empty($tooltip_truename) && isset($tooltip_truename[$each_table['TABLE_NAME']])) ? str_replace(' ', ' ', htmlspecialchars($tooltip_truename[$each_table['TABLE_NAME']])) : str_replace(' ', ' ', htmlspecialchars($each_table['TABLE_NAME'])); // Sets parameters for links $tbl_url_query = $url_query . '&table=' . $table_encoded; $i++; $row_count++; if ($table_is_view) { $hidden_fields[] = ''; } if ($each_table['TABLE_ROWS'] > 0) { $browse_table = '' . $titles['Browse'] . ''; $search_table = '' . $titles['Search'] . ''; } else { $browse_table = $titles['NoBrowse']; $search_table = $titles['NoSearch']; } if (! $db_is_information_schema) { if (! empty($each_table['TABLE_ROWS'])) { $empty_table = '' . $titles['Empty'] . ''; } else { $empty_table = $titles['NoEmpty']; } $drop_query = 'DROP ' . ($table_is_view ? 'VIEW' : 'TABLE') . ' ' . PMA_backquote($each_table['TABLE_NAME']); $drop_message = sprintf( $table_is_view ? $strViewHasBeenDropped : $strTableHasBeenDropped, str_replace(' ', ' ', htmlspecialchars($each_table['TABLE_NAME']))); } // loic1: Patch from Joshua Nye to get valid // statistics whatever is the table type if (isset($each_table['TABLE_ROWS'])) { // MyISAM, ISAM or Heap table: Row count, data size and index size // is accurate. if (preg_match('@^(MyISAM|ISAM|HEAP|MEMORY)$@', $each_table['ENGINE'])) { if ($is_show_stats) { $tblsize = doubleval($each_table['Data_length']) + doubleval($each_table['Index_length']); $sum_size += $tblsize; list($formatted_size, $unit) = PMA_formatByteDown($tblsize, 3, ($tblsize > 0) ? 1 : 0); if (isset($each_table['Data_free']) && $each_table['Data_free'] > 0) { list($formatted_overhead, $overhead_unit) = PMA_formatByteDown($each_table['Data_free'], 3, ($each_table['Data_free'] > 0) ? 1 : 0); $overhead_size += $each_table['Data_free']; } } $sum_entries += $each_table['TABLE_ROWS']; } elseif ($each_table['ENGINE'] == 'InnoDB') { // InnoDB table: Row count is not accurate but data and index // sizes are. if ($is_show_stats) { $tblsize = $each_table['Data_length'] + $each_table['Index_length']; $sum_size += $tblsize; list($formatted_size, $unit) = PMA_formatByteDown($tblsize, 3, ($tblsize > 0) ? 1 : 0); } //$display_rows = ' - '; $sum_entries += $each_table['TABLE_ROWS']; } elseif (preg_match('@^(MRG_MyISAM|BerkeleyDB)$@', $each_table['ENGINE'])) { // Merge or BerkleyDB table: Only row count is accurate. if ($is_show_stats) { $formatted_size = ' - '; $unit = ''; } $sum_entries += $each_table['TABLE_ROWS']; } else { // Unknown table type. if ($is_show_stats) { $formatted_size = 'unknown'; $unit = ''; } } if (PMA_MYSQL_INT_VERSION >= 40100) { if (isset($each_table['Collation'])) { $collation = '' . $each_table['Collation'] . ''; } else { $collation = '---'; } } if ($is_show_stats) { if (isset($formatted_overhead)) { $overhead = '' . $formatted_overhead . ' ' . $overhead_unit . '' . "\n"; unset($formatted_overhead); $overhead_check .= "document.getElementById('checkbox_tbl_$i').checked = true;"; } else { $overhead = '-'; } } // end if } // end if (isset($each_table['TABLE_ROWS']) if ($num_columns > 0 && $num_tables > $num_columns && (($row_count % $num_columns) == 0)) { $row_count = 1; $odd_row = true; ?>
' . $GLOBALS['strTable'] . '' . "\n" .' ' . $GLOBALS['strAction'] . "\n" .' ' . $GLOBALS['strRecords'] .PMA_showHint($GLOBALS['strApproximateCount']) . "\n" .' ' . $GLOBALS['strType'] . '' . $GLOBALS['strCollation'] . '' . $GLOBALS['strSize'] . '' . $GLOBALS['strOverhead'] . '
/> = $cfg['MaxExactCountViews']) { $at_least_one_view_exceeds_max_count = true; $row_count_pre = '~'; $sum_row_count_pre = '~'; $show_superscript = '1'; } elseif($each_table['ENGINE'] == 'InnoDB' && (! $each_table['COUNTED'])) { // InnoDB table: we did not get an accurate row count $row_count_pre = '~'; $sum_row_count_pre = '~'; $show_superscript = ''; } else { $row_count_pre = ''; $show_superscript = ''; } ?> 1)) { ?> - --- - - 1)) { $default_engine = PMA_DBI_get_default_engine(); echo ' ' . "\n" . ' ' .$default_engine . '' . "\n"; // Have to account for old MySQL with no collation (bug 1554885) if (PMA_MYSQL_INT_VERSION >= 40100) { // we got a case where $db_collation was empty echo ' ' . "\n"; if (! empty($db_collation)) { echo ' ' . $db_collation . ''; } echo ''; } } if ($is_show_stats) { ?>
<?php echo $strWithChecked; ?> / /
' . "\n"; echo '1' . PMA_sanitize(sprintf($strViewMaxExactCount, PMA_formatNumber($cfg['MaxExactCountViews'], 0), '[a@./Documentation.html#cfg_MaxExactCountViews@_blank]', '[/a]')) . "\n"; echo '' . "\n"; } // display again the table list navigator PMA_listNavigator($total_num_tables, $pos, $_url_params, 'db_structure.php', 'frame_content', $GLOBALS['cfg']['MaxTableList']); ?>
'; echo ''; if ($cfg['PropertiesIconic']) { echo ''; } echo $strPrintView . ' '; echo ''; if ($cfg['PropertiesIconic']) { echo ''; } echo $strDataDict . ''; echo '

'; if (empty($db_is_information_schema)) { require './libraries/display_create_table.lib.php'; } // end if (Create Table dialog) /** * Displays the footer */ require_once './libraries/footer.inc.php'; ?>