📄 tbl_select.php
字号:
<?php/* vim: set expandtab sw=4 ts=4 sts=4: *//** * Handles table search tab * * display table search form, create SQL query from form data * and include sql.php to execute it * * @todo display search form again if no results from previous search * @version $Id: tbl_select.php 11417 2008-07-21 16:41:17Z lem9 $ *//** * Gets some core libraries */require_once './libraries/common.inc.php';require_once './libraries/relation.lib.php'; // foreign keysrequire_once './libraries/mysql_charsets.lib.php';$GLOBALS['js_include'][] = 'tbl_change.js';$GLOBALS['js_include'][] = 'mootools.js';if ($GLOBALS['cfg']['PropertiesIconic'] == true) { $titles['Browse'] = '<img class="icon" width="16" height="16" src="' . $pmaThemeImage .'b_browse.png" alt="' . $strBrowseForeignValues . '" title="' .$strBrowseForeignValues . '" />'; if ($GLOBALS['cfg']['PropertiesIconic'] === 'both') { $titles['Browse'] .= $strBrowseForeignValues; }} else { $titles['Browse'] = $strBrowseForeignValues;}/** * Not selection yet required -> displays the selection form */if (!isset($param) || $param[0] == '') { // Gets some core libraries require_once './libraries/tbl_common.php'; //$err_url = 'tbl_select.php' . $err_url; $url_query .= '&goto=tbl_select.php&back=tbl_select.php'; /** * Gets tables informations */ require_once './libraries/tbl_info.inc.php'; /** * Displays top menu links */ require_once './libraries/tbl_links.inc.php'; if (!isset($goto)) { $goto = $GLOBALS['cfg']['DefaultTabTable']; } // Defines the url to return to in case of error in the next sql statement $err_url = $goto . '?' . PMA_generate_common_url($db, $table); // Gets the list and number of fields $result = PMA_DBI_query('SHOW FULL FIELDS FROM ' . PMA_backquote($table) . ' FROM ' . PMA_backquote($db) . ';', null, PMA_DBI_QUERY_STORE); $fields_cnt = PMA_DBI_num_rows($result); // rabue: we'd better ensure, that all arrays are empty. $fields_list = $fields_null = $fields_type = $fields_collation = array(); while ($row = PMA_DBI_fetch_assoc($result)) { $fields_list[] = $row['Field']; $type = $row['Type']; // reformat mysql query output - staybyte - 9. June 2001 if (strncasecmp($type, 'set', 3) == 0 || strncasecmp($type, 'enum', 4) == 0) { $type = str_replace(',', ', ', $type); } else { // strip the "BINARY" attribute, except if we find "BINARY(" because // this would be a BINARY or VARBINARY field type if (!preg_match('@BINARY[\(]@i', $type)) { $type = preg_replace('@BINARY@i', '', $type); } $type = preg_replace('@ZEROFILL@i', '', $type); $type = preg_replace('@UNSIGNED@i', '', $type); $type = strtolower($type); } if (empty($type)) { $type = ' '; } $fields_null[] = $row['Null']; $fields_type[] = $type; $fields_collation[] = !empty($row['Collation']) && $row['Collation'] != 'NULL' ? $row['Collation'] : ''; } // end while PMA_DBI_free_result($result); unset($result, $type); // <markus@noga.de> // retrieve keys into foreign fields, if any // check also foreigners even if relwork is FALSE (to get // foreign keys from innodb) $foreigners = PMA_getForeigners($db, $table); ?><script type="text/javascript">// <![CDATA[function PMA_tbl_select_operator(f, index, multiple) { switch (f.elements["func[" + index + "]"].options[f.elements["func[" + index + "]"].selectedIndex].value) {<?phpreset($GLOBALS['cfg']['UnaryOperators']);while (list($operator) = each($GLOBALS['cfg']['UnaryOperators'])) { echo ' case "' . $operator . "\":\r\n";}?> bDisabled = true; break; default: bDisabled = false; } f.elements["fields[" + index + "]" + ((multiple) ? "[]": "")].disabled = bDisabled;}// ]]></script><form method="post" action="tbl_select.php" name="insertForm"><?php echo PMA_generate_common_hidden_inputs($db, $table); ?><input type="hidden" name="goto" value="<?php echo $goto; ?>" /><input type="hidden" name="back" value="tbl_select.php" /><fieldset id="fieldset_table_search"><fieldset id="fieldset_table_qbe"> <legend><?php echo $strDoAQuery; ?></legend> <table class="data"> <thead> <tr><th><?php echo $strField; ?></th> <th><?php echo $strType; ?></th> <th><?php echo $strCollation; ?></th> <th><?php echo $strOperator; ?></th> <th><?php echo $strValue; ?></th> </tr> </thead> <tbody> <?php $odd_row = true; for ($i = 0; $i < $fields_cnt; $i++) { ?> <tr class="<?php echo $odd_row ? 'odd' : 'even'; $odd_row = ! $odd_row; ?>"> <th><?php echo htmlspecialchars($fields_list[$i]); ?></th> <td><?php echo $fields_type[$i]; ?></td> <td><?php echo $fields_collation[$i]; ?></td> <td><select name="func[]"> <?php if (strncasecmp($fields_type[$i], 'enum', 4) == 0) { foreach ($GLOBALS['cfg']['EnumOperators'] as $fc) { echo "\n" . ' ' . '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>'; } } elseif (preg_match('@char|blob|text|set@i', $fields_type[$i])) { foreach ($GLOBALS['cfg']['TextOperators'] as $fc) { echo "\n" . ' ' . '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>'; } } else { foreach ($GLOBALS['cfg']['NumOperators'] as $fc) { echo "\n" . ' ' . '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>'; } } // end if... else... if ($fields_null[$i]) { foreach ($GLOBALS['cfg']['NullOperators'] as $fc) { echo "\n" . ' ' . '<option value="' . htmlspecialchars($fc) . '">' . htmlspecialchars($fc) . '</option>'; } } ?> </select> </td> <td> <?php // <markus@noga.de> $field = $fields_list[$i]; $foreignData = PMA_getForeignData($foreigners, $field, false, '', ''); if ($foreigners && isset($foreigners[$field]) && is_array($foreignData['disp_row'])) { // f o r e i g n k e y s echo ' <select name="fields[' . $i . ']">' . "\n"; // go back to first row // here, the 4th parameter is empty because there is no current // value of data for the dropdown (the search page initial values // are displayed empty) echo PMA_foreignDropdown($foreignData['disp_row'], $foreignData['foreign_field'], $foreignData['foreign_display'], '', $GLOBALS['cfg']['ForeignKeyMaxLimit']); echo ' </select>' . "\n"; } elseif ($foreignData['foreign_link'] == true) { ?> <input type="text" name="fields[<?php echo $i; ?>]" id="field_<?php echo md5($field); ?>[<?php echo $i; ?>]" class="textfield" /> <script type="text/javascript"> // <![CDATA[ document.writeln('<a target="_blank" onclick="window.open(this.href, \'foreigners\', \'width=640,height=240,scrollbars=yes\'); return false" href="browse_foreigners.php?<?php echo PMA_generate_common_url($db, $table); ?>&field=<?php echo urlencode($field); ?>&fieldkey=<?php echo $i; ?>"><?php echo str_replace("'", "\'", $titles['Browse']); ?></a>');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -