PMA\libraries\Table::updateDisplayField PHP Method

updateDisplayField() public method

Function to handle update for display field
public updateDisplayField ( string $disp, string $display_field, array $cfgRelation ) : boolean
$disp string current display field
$display_field string display field
$cfgRelation array configuration relation
return boolean True on update succeed or False on failure
    public function updateDisplayField($disp, $display_field, $cfgRelation)
    {
        $upd_query = false;
        if ($disp) {
            if ($display_field == '') {
                $upd_query = 'DELETE FROM ' . Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . Util::backquote($cfgRelation['table_info']) . ' WHERE db_name  = \'' . $GLOBALS['dbi']->escapeString($this->_db_name) . '\'' . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($this->_name) . '\'';
            } elseif ($disp != $display_field) {
                $upd_query = 'UPDATE ' . Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . Util::backquote($cfgRelation['table_info']) . ' SET display_field = \'' . $GLOBALS['dbi']->escapeString($display_field) . '\'' . ' WHERE db_name  = \'' . $GLOBALS['dbi']->escapeString($this->_db_name) . '\'' . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($this->_name) . '\'';
            }
        } elseif ($display_field != '') {
            $upd_query = 'INSERT INTO ' . Util::backquote($GLOBALS['cfgRelation']['db']) . '.' . Util::backquote($cfgRelation['table_info']) . '(db_name, table_name, display_field) VALUES(' . '\'' . $GLOBALS['dbi']->escapeString($this->_db_name) . '\',' . '\'' . $GLOBALS['dbi']->escapeString($this->_name) . '\',' . '\'' . $GLOBALS['dbi']->escapeString($display_field) . '\')';
        }
        if ($upd_query) {
            $this->_dbi->query($upd_query, $GLOBALS['controllink'], 0, false);
            return true;
        }
        return false;
    }

Usage Example

/**
 * Saves the display field for a table.
 *
 * @param string $db    database name
 * @param string $table table name
 * @param string $field display field name
 *
 * @return boolean
 */
function PMA_saveDisplayField($db, $table, $field)
{
    $cfgRelation = PMA_getRelationsParam();
    if (!$cfgRelation['displaywork']) {
        return false;
    }
    $disp = PMA_getDisplayField($db, $table);
    if ($disp && $disp === $field) {
        $field = '';
    }
    $upd_query = new Table($table, $db, $GLOBALS['dbi']);
    $upd_query->updateDisplayField($disp, $field, $cfgRelation);
    return true;
}
All Usage Examples Of PMA\libraries\Table::updateDisplayField