0) { while ($tmp = PMA_DBI_fetch_row($db_info_result)) { // if in use memorize tablename if (preg_match('@in_use=[1-9]+@i', $tmp[1])) { $sot_cache[$tmp[0]] = true; } } PMA_DBI_free_result($db_info_result); if (isset($sot_cache)) { $db_info_result = PMA_DBI_query( 'SHOW TABLES FROM ' . PMA_backquote($db) . $tbl_group_sql . ';', null, PMA_DBI_QUERY_STORE); if ($db_info_result && PMA_DBI_num_rows($db_info_result) > 0) { while ($tmp = PMA_DBI_fetch_row($db_info_result)) { if (!isset($sot_cache[$tmp[0]])) { $sts_result = PMA_DBI_query( 'SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ' LIKE \'' . addslashes($tmp[0]) . '\';'); $sts_tmp = PMA_DBI_fetch_assoc($sts_result); PMA_DBI_free_result($sts_result); unset($sts_result); if (!isset($sts_tmp['Type']) && isset($sts_tmp['Engine'])) { $sts_tmp['Type'] =& $sts_tmp['Engine']; } if (!empty($tbl_group) && $cfg['ShowTooltipAliasTB'] && !preg_match('@' . preg_quote($tbl_group, '@') . '@i', $sts_tmp['Comment'])) { continue; } if ($cfg['ShowTooltip']) { PMA_fillTooltip($tooltip_truename, $tooltip_aliasname, $sts_tmp); } $tables[$sts_tmp['Name']] = $sts_tmp; } else { // table in use $tables[$tmp[0]] = array('Name' => $tmp[0]); } } if ($GLOBALS['cfg']['NaturalOrder']) { uksort($tables, 'strnatcasecmp'); } $sot_ready = true; } elseif ($db_info_result) { PMA_DBI_free_result($db_info_result); } unset($sot_cache); } unset($tmp); } elseif ($db_info_result) { PMA_DBI_free_result($db_info_result); } } if (! isset($sot_ready)) { if (! empty($tbl_group) && ! $cfg['ShowTooltipAliasTB']) { // only tables for selected group $tables = PMA_DBI_get_tables_full($db, $tbl_group, true); } elseif (! empty($tbl_group) && $cfg['ShowTooltipAliasTB']) { // only tables for selected group, // but grouping is done on comment ... $tables = PMA_DBI_get_tables_full($db, $tbl_group, 'comment'); } else { // all tables in db // - get the total number of tables // (needed for proper working of the MaxTableList feature) $tables = PMA_DBI_get_tables($db); $total_num_tables = count($tables); if (isset($sub_part) && $sub_part == '_export') { // (don't fetch only a subset if we are coming from db_export.php, // because I think it's too risky to display only a subset of the // table names when exporting a db) /** * * @todo Page selector for table names? */ $tables = PMA_DBI_get_tables_full($db, false, false, null, 0, false); } else { // fetch the details for a possible limited subset $tables = PMA_DBI_get_tables_full($db, false, false, null, $pos, true); } } if ($cfg['ShowTooltip']) { foreach ($tables as $each_table) { PMA_fillTooltip($tooltip_truename, $tooltip_aliasname, $each_table); } } } /** * @global int count of tables in db */ $num_tables = count($tables); // (needed for proper working of the MaxTableList feature) if (! isset($total_num_tables)) { $total_num_tables = $num_tables; } /** * cleanup */ unset($each_table, $tbl_group_sql, $db_info_result); /** * Displays top menu links */ require './libraries/db_links.inc.php'; ?>