【php开源代码栏目提醒】:网学会员为需要php开源代码的朋友们搜集整理了tbl_printview.php相关资料,希望对各位网友有所帮助!
<?php
/* $Id: tbl_printview.php,v 2.21.2.1 2006/04/12 15:23:31 cybot_tm Exp $ */
require_once('./libraries/common.lib.php');
require './libraries/tbl_properties_common.php';
/**
* Gets the variables sent or posted to this script, then displays headers
*/
$print_view = TRUE;
if (!isset($selected_tbl)) {
require_once('./libraries/header.inc.php');
}
// Check parameters
if (!isset($the_tables) || !is_array($the_tables)) {
$the_tables = array();
}
/**
* Gets the relations settings
*/
require_once('./libraries/relation.lib.php');
require_once('./libraries/transformations.lib.php');
require_once('./libraries/tbl_indexes.lib.php');
$cfgRelation = PMA_getRelationsParam();
/**
* Defines the url to return to in case of error in a sql statement
*/
if (isset($table)) {
$err_url = 'tbl_properties.php?' . PMA_generate_common_url($db, $table);
} else {
$err_url = 'db_details.php?' . PMA_generate_common_url($db);
}
/**
* Selects the database
*/
PMA_DBI_select_db($db);
/**
* Multi-tables printview thanks to Christophe Gesch锟?from the "MySQL Form
* Generator for
PHPMyAdmin" (http://sourceforge.net/projects/phpmy
sqlformgen/)
*/
if (isset($selected_tbl) && is_array($selected_tbl)) {
$the_tables = $selected_tbl;
} elseif (isset($table)) {
$the_tables[] = $table;
}
$multi_tables = (count($the_tables) > 1);
if ($multi_tables) {
if (empty($GLOBALS['is_header_sent'])) {
require_once('./libraries/header.inc.php');
}
$tbl_list = '';
foreach ($the_tables AS $key => $table) {
$tbl_list .= (empty($tbl_list) ? '' : ', ')
. PMA_backquote(urldecode($table));
}
echo '<b>'. $strShowTables . ': ' . $tbl_list . '</b>' . "\n";
echo '<hr />' . "\n";
} // end if
$tables_cnt = count($the_tables);
$counter = 0;
foreach ($the_tables AS $key => $table) {
$table = urldecode($table);
if ($counter + 1 >= $tables_cnt) {
$breakstyle = '';
} else {
$breakstyle = ' style="page-break-after: always;"';
}
$counter++;
echo '<div' . $breakstyle . '>' . "\n";
echo '<h1>' . $table . '</h1>' . "\n";
/**
* Gets table informations
*/
$result = PMA_DBI_query('SHOW TABLE STATUS LIKE \'' . PMA_sqlAddslashes($table, TRUE) . '\';');
$showtable = PMA_DBI_fetch_assoc($result);
$num_rows = (isset($showtable['Rows']) ? $showtable['Rows'] : 0);
$show_comment = (isset($showtable['Comment']) ? $showtable['Comment'] : '');
PMA_DBI_free_result($result);
// Gets table keys and store them in arrays
$indexes = array();
$indexes_info = array();
$indexes_data = array();
$ret_keys = PMA_get_indexes($table, $err_url_0);
PMA_extract_indexes($ret_keys, $indexes, $indexes_info, $indexes_data);
/**
* Gets fields properties
*/
$result = PMA_DBI_query('SHOW FIELDS FROM ' . PMA_backquote($table) . ';', null, PMA_DBI_QUERY_STORE);
$fields_cnt = PMA_DBI_num_rows($result);
// Check if we can use Relations (Mike Beck)
if (!empty($cfgRelation['relation'])) {
// Find which tables are related with the current one and write it in
// an array
$res_rel = PMA_getForeigners($db, $table);
if (count($res_rel) > 0) {
$have_rel = TRUE;
} else {
$have_rel = FALSE;
}
} else {
$have_rel = FALSE;
} // end if
/**
* Displays the comments of the table if MySQL >= 3.23
*/
if (!empty($show_comment)) {
echo $strTableComments . ': ' . $show_comment . '<br /><br />';
}
/**
* Displays the table structure
*/
?>
<!-- TABLE INFORMATIONS -->
<table width="95%" bordercolorlight="black" border="border" style="border-collapse: collapse; background-color: white">
<tr>
<th width="50"><?php echo $strField; ?></th>
<th width="80"><?php echo $strType; ?></th>
<!--<th width="50"><?php echo $strAttr; ?></th>-->
<th width="40"><?php echo $strNull; ?></th>
<th width="70"><?php echo $strDefault; ?></th>
<!--<th width="50"><?php echo $strExtra; ?></th>-->
<?php
echo "\n";
if ($have_rel) {
echo ' <th>' . $strLinksTo . '</th>' . "\n";
}
if ($cfgRelation['commwork']) {
echo ' <th>' . $strComments . '</th>' . "\n";
}
if ($cfgRelation['mimework']) {
echo ' <th>MIME</th>' . "\n";
}
?>
</tr>
<?php
$i = 0;
while ($row = PMA_DBI_fetch_assoc($result)) {
$bgcolor = ($i % 2) ?$cfg['BgcolorOne'] : $cfg['BgcolorTwo'];
$i++;
$type = $row['Type'];
// reformat
mysql query output - staybyte - 9. June 2001
// loic1: set or enum types: slashes single quotes inside options
if (preg_match('@^(set|enum)\((.+)\)$@i', $type, $tmp)) {
$tmp[2] = substr(preg_replace('@([^,])\'\'@', '\\1\\\'', ',' . $tmp[2]), 1);
$type = $tmp[1] . '(' . str_replace(',', ', ', $tmp[2]) . ')';
$type_nowrap = '';
$binary = 0;
$unsigned = 0;
$zerofill = 0;
} else {
$type_nowrap = ' nowrap="nowrap"';
$type = preg_replace('@BINARY@i', '', $type);
$type = preg_replace('@ZEROFILL@i', '', $type)