【问题标题】:PHPMyAdmin LaTeX-export doesn't show row commentsPHPMyAdmin LaTeX-export 不显示行注释
【发布时间】:2012-02-15 11:32:24
【问题描述】:
我正在尝试将我的数据库表导出到 PHPMyAdmin 中的 LaTeX。它确实会生成一个“cmets”列,但是即使我尝试导出的表的几个字段确实有 cmets,也没有放入任何内容。 (当然,我确实选中了“cmets”复选框)。有谁知道这个问题的解决方案,或者这只是(这个版本的)PHPMyAdmin 中的一个错误?
我正在使用 MySQL 5.5.9 和 PHPMyAdmin 版本 3.3.9.2。
【问题讨论】:
标签:
mysql
latex
phpmyadmin
【解决方案1】:
我决定自己通过编写以下 PHP 脚本来解决这个问题。它从数据库中的所有 MySQL 表中生成 LaTeX 表,其中行名的字段列和 cmets 的描述列。该代码不包含 MySQL 连接逻辑。它可以是您文档中对可以使用 MySQLWorkbench 制作的图形方案的一个很好的补充。为了在网络浏览器中获得良好的显示效果,请使用nl2br()。
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);
}
我希望它对某人有用。