我正在尝试将我的数据库表导出到PHPMyAdmin中的LaTeX。它确实生成了一个" comments“列,但即使我对要导出的表中的几个字段有注释,也没有放入任何内容。(当然,我也检查了"comments"-checkbox )。有没有人知道这个问题的解决方案,或者这只是(这个版本的) PHPMyAdmin中的一个bug?
我使用的是带有PHPMyAdmin版本3.3.9.2的MySQL 5.5.9。
发布于 2012-02-18 04:25:54
我决定自己写下面的PHP脚本来解决这个问题。它从数据库中的所有MySQL表生成LaTeX表,行名为Field列,注释为Description列。代码不包含MySQL连接逻辑。对于可以用MySQLWorkbench创建的图形化方案,它可以很好地添加到您的文档中。要在web浏览器中显示良好效果,请使用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);
}我希望它对某些人有用。
https://stackoverflow.com/questions/9292550
复制相似问题