首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHPMyAdmin LaTeX导出不显示行注释

PHPMyAdmin LaTeX导出不显示行注释
EN

Stack Overflow用户
提问于 2012-02-15 19:32:24
回答 1查看 364关注 0票数 1

我正在尝试将我的数据库表导出到PHPMyAdmin中的LaTeX。它确实生成了一个" comments“列,但即使我对要导出的表中的几个字段有注释,也没有放入任何内容。(当然,我也检查了"comments"-checkbox )。有没有人知道这个问题的解决方案,或者这只是(这个版本的) PHPMyAdmin中的一个bug?

我使用的是带有PHPMyAdmin版本3.3.9.2的MySQL 5.5.9。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-18 04:25:54

我决定自己写下面的PHP脚本来解决这个问题。它从数据库中的所有MySQL表生成LaTeX表,行名为Field列,注释为Description列。代码不包含MySQL连接逻辑。对于可以用MySQLWorkbench创建的图形化方案,它可以很好地添加到您的文档中。要在web浏览器中显示良好效果,请使用nl2br()

代码语言:javascript
运行
复制
function showDescriptions(){
    $result = "";
    $tables = mysql_query("SHOW TABLES");
    while($table = mysql_fetch_row($tables)){
        $columns = mysql_query("SHOW FULL COLUMNS FROM `".$table[0]."`");
        $result .= "\begin{table}[h!] %b!p!\n";
        $result .= '\begin{tabular}{|p{0.3\textwidth}|p{0.63\textwidth}|}'."\n";
        $result .= "\hline\n";
        $result .= "Field & Description\\\\\n";
        $result .= "\hline \hline\n";
        while($column = mysql_fetch_array($columns)){
            $result .= LaTeXSafe($column['Field']);
            $result .= " & ";
            $result .= LaTeXSafe($column['Comment']);
            $result .= "\\\\\n";
            $result .= "\hline\n";
        }
        $result .= '\end{tabular}'."\n";
        $result .= '\vspace{-7pt}'."\n";
        $result .= '\caption{\textit{Field descriptions of table '.$table[0].'}}'."\n";
        $result .= '\vspace{-7pt}'."\n";
        $result .= '\label{table-'.$table[0].'}'."\n";
        $result .= '\end{table}'."\n\n\n";
    }
    return $result;
}

function LaTeXSafe($text){
    return str_replace("_", "\_", $text);
}

我希望它对某些人有用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9292550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档