如何设置;全文;作为phpMyAdmin的默认值?

如何设置;全文;作为phpMyAdmin的默认值?,phpmyadmin,Phpmyadmin,我正在使用phpmyadminv3.4.10.1deb1来管理我的Ubuntu服务器上的一些MySQL表,其中的字段采用SQL格式“TEXT”。显示这些字段时,默认情况下会截断这些字段。我总是要点击符号“←T→" 要将文本扩展到完整长度,但我不想在每个查询上单击,因为这意味着每个查询都要执行两次 我希望“全文”是默认值,但我找不到设置的位置 你能帮忙吗?我在phpMyAdmin中有一个选项:设置>主面板>浏览模式名为:限制列字符数,在这里你可以更改默认的字符数限制(50个)。但是我不相信你可以默

我正在使用phpmyadminv3.4.10.1deb1来管理我的Ubuntu服务器上的一些MySQL表,其中的字段采用SQL格式“TEXT”。显示这些字段时,默认情况下会截断这些字段。我总是要点击符号“←T→" 要将文本扩展到完整长度,但我不想在每个查询上单击,因为这意味着每个查询都要执行两次

我希望“全文”是默认值,但我找不到设置的位置


你能帮忙吗?

我在phpMyAdmin中有一个选项:
设置>主面板>浏览模式
名为:
限制列字符数
,在这里你可以更改默认的字符数限制(50个)。但是我不相信你可以默认设置为不限制…

这是一个骇客解决方案(对我有效)但需要更改一些PMA php文件。如果您知道自己在做什么,可以尝试以下方法:

  • 在phpmyadmin文件夹中找到此文件:
    phpmyadmin/libraries/display\u tbl.lib.php
  • 在此文件中,找到名为
    PMA\u displayTable\u checkConfigParams的函数
  • 在本函数开头添加以下行:
如果(!isset($_请求['display_text']))$_请求['display_text']='F'; 这将在默认情况下启用“全文”,允许您切换回“部分文本”模式


请注意,我是在一个稍有不同的PMA版本(3.5.2.2)上测试的,因此函数/文件名可能不同。

当前稳定版本(4.5.0)的等效补丁:


是的,这很烦人

上面的答案(3)为我指明了正确的方向,但自从他的回答以来,常规名称已经发生了变化

我使用的WAMP版本为PHPMyAdmin的4.5.5

1) 打开位于“C:/WAMP/PHPMyAdmin/libraries”中的文件“displayResultClass.php”

2) 搜索“私有函数\u GetFullorPartialTextButtonNorlink()”

3) 在上行后面的开口大括号“{”之后,添加下面的代码行:-

“如果(!isset($_REQUEST['full_text_button']))_REQUEST['full_text_button']='F';”

这将打开“全文”单选按钮

关闭PHPMyAdmin并重新打开它。默认值将保留(当然,直到您更新或重新安装WAMP或PHPMyAdmin!上帝知道他们为什么没有在配置文件中创建默认值。如果他们创建了,我肯定找不到它

我对每次切换到“全文”都感到非常厌烦,而显然这应该是默认的。这让我觉得作者是在故意让程序员发疯


John

首先:如果没有必要,请不要更改核心文件。

要在PMA版本4.5.4.1中实现这一点,只需将这一行添加到config.inc.php中:


这将始终将结果设置为默认全文,如果需要部分更改列字符的限制,则可以切换

Select "Browse" option of any table
Select Settings gear icon at top right corner
Change character limit in "Limit column characters box" according to your need
Press Apply

它在docker容器中运行的版本
5.0.2
中对我有效:

  • docker exec-it[您的容器名称]sh
  • apt-get-update
  • apt get install vim
  • vim./libraries/classes/Display/Results.php
  • 按键盘上的字母
    i
    ,在
    vim
    中进入插入模式
  • 更改文件底部的函数
    \u getPartialText
    ,如下所示
  • 编辑完文件后,按ESC键退出插入模式
  • 要保存文件,请键入冒号,后跟wq。例如,
    :wq
  • /**
    *根据LimitChars配置截断给定字符串
    *和会话pftext变量
    *(仅在必要时截断字符串)
    *
    *@param string$str字符串将被截断
    *
    *@返回混合
    *
    *@access-private
    *
    *@请参阅_handleNonPrintableContents(),_getDataCellForGeometryColumns(),
    *\u getDataCellForNonNumericColumns
    */
    私有函数_getPartialText($str)
    {
    $original_length=mb_strlen($str);
    /*
    如果($original_length>$GLOBALS['cfg']['LimitChars']
    &&$\u会话['tmpval']['pftext']==self::DISPLAY\u PARTIAL\u TEXT
    ) {
    $str=mb_substr(
    $str,
    0,
    (int)$GLOBALS['cfg']['LimitChars']
    ) . '...';
    $truncated=true;
    }否则{
    $truncated=false;
    }
    */
    $truncated=false;
    返回[
    美元截断,
    $str,
    $原始长度,
    ];
    }
    
    是正确的,因为您不能设置“无限制”

    这就是说,此线程上的所有答案似乎都忽略了最大字符数的永久性修复,因此如下所示:

    转到您的PMA服务器。找到phpMyAdmin配置文件,
    config.inc.php

    locate config.inc.php
    
    使用您选择的文本编辑器查找以下字符串:

    $cfg['LimitChars']
    
    将该值更改为所需值(默认值为
    50
    ):


    写入并退出。PMA不需要重新启动,更改应自动应用。

    谢谢。我已将此限制设置为100000。这应该足够了。但现在,如果不需要完整的文本,我无法再截断这些文本。看起来您需要决定是否需要:-)我已决定:我想要“全文“作为默认值。但我不想错过截断文本的可能性。正如我在问题中所说:“我希望‘全文’是默认值。”我没有说:“我想完全取消‘截断文本’。”。“如果不将其PHPMyAdmin配置为使用pma数据库存储配置,则不可能。我在最新版本中找不到此限制列字符选项……此解决方法
    if ( !isset($_REQUEST['pftext'])) $_REQUEST['pftext'] = 'F';
    
    Select "Browse" option of any table
    Select Settings gear icon at top right corner
    Change character limit in "Limit column characters box" according to your need
    Press Apply
    
    $cfg['LimitChars']
    
    $cfg['LimitChars'] = 1000;