display_tbl.lib.php

来自「phpMyAdmin图形界面化操作,我已经配置好了,只要把解要压缩后的文件放到站」· PHP 代码 · 共 1,349 行 · 第 1/5 页

PHP
1,349
字号
            'goto' => $goto,            'display_options_form' => 1        );        echo PMA_generate_common_hidden_inputs($url_params);        echo '<br />';        PMA_generate_slider_effect('displayoptions',$GLOBALS['strOptions']);        echo '<fieldset>';        echo '<div class="formelement">';        $choices = array(            'P'   => $GLOBALS['strPartialText'],            'F'   => $GLOBALS['strFullText']        );        PMA_generate_html_radio('display_text', $choices, $_SESSION['userconf']['display_text']);        echo '</div>';        if ($GLOBALS['cfgRelation']['relwork']) {            echo '<div class="formelement">';            $choices = array(                'K'   => $GLOBALS['strRelationalKey'],                'D'   => $GLOBALS['strRelationalDisplayField']            );            PMA_generate_html_radio('relational_display', $choices, $_SESSION['userconf']['relational_display']);            echo '</div>';        }        echo '<div class="formelement">';        PMA_generate_html_checkbox('display_binary', $GLOBALS['strShow'] . ' BINARY', ! empty($_SESSION['userconf']['display_binary']), false);        echo '<br />';        PMA_generate_html_checkbox('display_blob', $GLOBALS['strShow'] . ' BLOB', ! empty($_SESSION['userconf']['display_blob']), false);        echo '</div>';        // I would have preferred to name this "display_transformation".        // This is the only way I found to be able to keep this setting sticky        // per SQL query, and at the same time have a default that displays        // the transformations.        echo '<div class="formelement">';        PMA_generate_html_checkbox('hide_transformation', $GLOBALS['strHide'] . ' ' . $GLOBALS['strMIME_transformation'], ! empty($_SESSION['userconf']['hide_transformation']), false);        echo '</div>';        echo '<div class="clearfloat"></div>';        echo '</fieldset>';        echo '<fieldset class="tblFooters">';        echo '<input type="submit" value="' . $GLOBALS['strGo'] . '" />';        echo '</fieldset>';        echo '</div>';        echo '</form>';    }    // Start of form for multi-rows edit/delete/export     if ($is_display['del_lnk'] == 'dr' || $is_display['del_lnk'] == 'kp') {        echo '<form method="post" action="tbl_row_action.php" name="rowsDeleteForm" id="rowsDeleteForm">' . "\n";        echo PMA_generate_common_hidden_inputs($db, $table, 1);        echo '<input type="hidden" name="goto"             value="sql.php" />' . "\n";    }    echo '<table id="table_results" class="data">' . "\n";    if ($_SESSION['userconf']['disp_direction'] == 'horizontal'     || $_SESSION['userconf']['disp_direction'] == 'horizontalflipped') {        echo '<thead><tr>' . "\n";    }    // 1. Displays the full/partial text button (part 1)...    if ($_SESSION['userconf']['disp_direction'] == 'horizontal'     || $_SESSION['userconf']['disp_direction'] == 'horizontalflipped') {        $colspan  = ($is_display['edit_lnk'] != 'nn' && $is_display['del_lnk'] != 'nn')                  ? ' colspan="3"'                  : '';    } else {        $rowspan  = ($is_display['edit_lnk'] != 'nn' && $is_display['del_lnk'] != 'nn')                  ? ' rowspan="3"'                  : '';    }    //     ... before the result table    if (($is_display['edit_lnk'] == 'nn' && $is_display['del_lnk'] == 'nn')        && $is_display['text_btn'] == '1') {        $vertical_display['emptypre'] = ($is_display['edit_lnk'] != 'nn' && $is_display['del_lnk'] != 'nn') ? 3 : 0;        if ($_SESSION['userconf']['disp_direction'] == 'horizontal'         || $_SESSION['userconf']['disp_direction'] == 'horizontalflipped') {            ?>    <th colspan="<?php echo $fields_cnt; ?>"></th></tr><tr>            <?php        } // end horizontal/horizontalflipped mode        else {            ?><tr>    <th colspan="<?php echo $num_rows + floor($num_rows/$_SESSION['userconf']['repeat_cells']) + 1; ?>"></th></tr>            <?php        } // end vertical mode    }    //     ... at the left column of the result table header if possible    //     and required    elseif ($GLOBALS['cfg']['ModifyDeleteAtLeft'] && $is_display['text_btn'] == '1') {        $vertical_display['emptypre'] = ($is_display['edit_lnk'] != 'nn' && $is_display['del_lnk'] != 'nn') ? 3 : 0;        if ($_SESSION['userconf']['disp_direction'] == 'horizontal'         || $_SESSION['userconf']['disp_direction'] == 'horizontalflipped') {            ?>    <th <?php echo $colspan; ?>></th>            <?php        } // end horizontal/horizontalflipped mode        else {            $vertical_display['textbtn'] = '    <th ' . $rowspan . ' valign="middle">' . "\n"                                         . '        ' . "\n"                                         . '    </th>' . "\n";        } // end vertical mode    }    //     ... elseif no button, displays empty(ies) col(s) if required    elseif ($GLOBALS['cfg']['ModifyDeleteAtLeft']             && ($is_display['edit_lnk'] != 'nn' || $is_display['del_lnk'] != 'nn')) {        $vertical_display['emptypre'] = ($is_display['edit_lnk'] != 'nn' && $is_display['del_lnk'] != 'nn') ? 3 : 0;        if ($_SESSION['userconf']['disp_direction'] == 'horizontal'         || $_SESSION['userconf']['disp_direction'] == 'horizontalflipped') {            ?>    <td<?php echo $colspan; ?>></td>            <?php        } // end horizontal/horizontalfipped mode        else {            $vertical_display['textbtn'] = '    <td' . $rowspan . '></td>' . "\n";        } // end vertical mode    }    // 2. Displays the fields' name    // 2.0 If sorting links should be used, checks if the query is a "JOIN"    //     statement (see 2.1.3)    // 2.0.1 Prepare Display column comments if enabled ($GLOBALS['cfg']['ShowBrowseComments']).    //       Do not show comments, if using horizontalflipped mode, because of space usage    if ($GLOBALS['cfg']['ShowBrowseComments']     && $_SESSION['userconf']['disp_direction'] != 'horizontalflipped') {        $comments_map = array();        if (isset($analyzed_sql[0]) && is_array($analyzed_sql[0])) {            foreach ($analyzed_sql[0]['table_ref'] as $tbl) {                $tb = $tbl['table_true_name'];                $comments_map[$tb] = PMA_getComments($db, $tb);                unset($tb);            }        }    }    if ($GLOBALS['cfgRelation']['commwork'] && $GLOBALS['cfgRelation']['mimework'] && $GLOBALS['cfg']['BrowseMIME'] && ! $_SESSION['userconf']['hide_transformation']) {        require_once './libraries/transformations.lib.php';        $GLOBALS['mime_map'] = PMA_getMIME($db, $table);    }    if ($is_display['sort_lnk'] == '1') {        $select_expr = $analyzed_sql[0]['select_expr_clause'];    }    // garvin: See if we have to highlight any header fields of a WHERE query.    //  Uses SQL-Parser results.    $highlight_columns = array();    if (isset($analyzed_sql) && isset($analyzed_sql[0]) &&        isset($analyzed_sql[0]['where_clause_identifiers'])) {        $wi = 0;        if (isset($analyzed_sql[0]['where_clause_identifiers']) && is_array($analyzed_sql[0]['where_clause_identifiers'])) {            foreach ($analyzed_sql[0]['where_clause_identifiers'] AS $wci_nr => $wci) {                $highlight_columns[$wci] = 'true';            }        }    }    for ($i = 0; $i < $fields_cnt; $i++) {        // garvin: See if this column should get highlight because it's used in the        //  where-query.        if (isset($highlight_columns[$fields_meta[$i]->name]) || isset($highlight_columns[PMA_backquote($fields_meta[$i]->name)])) {            $condition_field = true;        } else {            $condition_field = false;        }        // 2.0 Prepare comment-HTML-wrappers for each row, if defined/enabled.        if (isset($comments_map) &&                isset($comments_map[$fields_meta[$i]->table]) &&                isset($comments_map[$fields_meta[$i]->table][$fields_meta[$i]->name])) {            $comments = '<span class="tblcomment">' . htmlspecialchars($comments_map[$fields_meta[$i]->table][$fields_meta[$i]->name]) . '</span>';        } else {            $comments = '';        }        // 2.1 Results can be sorted        if ($is_display['sort_lnk'] == '1') {            // 2.1.1 Checks if the table name is required; it's the case            //       for a query with a "JOIN" statement and if the column            //       isn't aliased, or in queries like            //       SELECT `1`.`master_field` , `2`.`master_field`            //       FROM `PMA_relation` AS `1` , `PMA_relation` AS `2`            if (isset($fields_meta[$i]->table) && strlen($fields_meta[$i]->table)) {                $sort_tbl = PMA_backquote($fields_meta[$i]->table) . '.';            } else {                $sort_tbl = '';            }            // 2.1.2 Checks if the current column is used to sort the            //       results            // the orgname member does not exist for all MySQL versions            // but if found, it's the one on which to sort            $name_to_use_in_sort = $fields_meta[$i]->name;            if (isset($fields_meta[$i]->orgname)) {                $name_to_use_in_sort = $fields_meta[$i]->orgname;            }            // $name_to_use_in_sort might contain a space due to             // formatting of function expressions like "COUNT(name )"            // so we remove the space in this situation             $name_to_use_in_sort = str_replace(' )', ')', $name_to_use_in_sort);            if (empty($sort_expression)) {                $is_in_sort = false;            } else {                // field name may be preceded by a space, or any number                // of characters followed by a dot (tablename.fieldname)                // so do a direct comparison                // for the sort expression (avoids problems with queries                // like "SELECT id, count(id)..." and clicking to sort                // on id or on count(id))                $is_in_sort = (str_replace('`', '', $sort_tbl) . $name_to_use_in_sort == str_replace('`', '', $sort_expression_nodirection) ? true : false);            }            // 2.1.3 Check the field name for a bracket.            //       If it contains one, it's probably a function column            //       like 'COUNT(`field`)'            if (strpos($name_to_use_in_sort, '(') !== false) {                $sort_order = ' ORDER BY ' . $name_to_use_in_sort . ' ';            } else {                $sort_order = ' ORDER BY ' . $sort_tbl . PMA_backquote($name_to_use_in_sort) . ' ';            }            unset($name_to_use_in_sort);            // 2.1.4 Do define the sorting URL            if (! $is_in_sort) {                // loic1: patch #455484 ("Smart" order)                $GLOBALS['cfg']['Order'] = strtoupper($GLOBALS['cfg']['Order']);                if ($GLOBALS['cfg']['Order'] === 'SMART') {                    $sort_order .= (preg_match('@time|date@i', $fields_meta[$i]->type)) ? 'DESC' : 'ASC';                } else {                    $sort_order .= $GLOBALS['cfg']['Order'];                }                $order_img   = '';            } elseif ('DESC' == $sort_direction) {                $sort_order .= ' ASC';                $order_img   = ' <img class="icon" src="' . $GLOBALS['pmaThemeImage'] . 's_desc.png" width="11" height="9" alt="'. $GLOBALS['strDescending'] . '" title="'. $GLOBALS['strDescending'] . '" id="soimg' . $i . '" />';            } else {                $sort_order .= ' DESC';                $order_img   = ' <img class="icon" src="' . $GLOBALS['pmaThemeImage'] . 's_asc.png" width="11" height="9" alt="'. $GLOBALS['strAscending'] . '" title="'. $GLOBALS['strAscending'] . '" id="soimg' . $i . '" />';            }            if (preg_match('@(.*)([[:space:]](LIMIT (.*)|PROCEDURE (.*)|FOR UPDATE|LOCK IN SHARE MODE))@i', $unsorted_sql_query, $regs3)) {                $sorted_sql_query = $regs3[1] . $sort_order . $regs3[2];            } else {                $sorted_sql_query = $unsorted_sql_query . $sort_order;            }            $_url_params = array(                'db'        => $db,                'table'     => $table,                'sql_query' => $sorted_sql_query,            );            $order_url  = 'sql.php' . PMA_generate_common_url($_url_params);            // 2.1.5 Displays the sorting URL            // added 20004-06-09: Michael Keck <mail@michaelkeck.de>            //                    enable sort order swapping for image

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?