1
我想将我的数据库表导出到PHPMyAdmin中的LaTeX。它确实会生成一个“注释”列,但没有任何东西放在那里,尽管我对表格的几个字段有评论,我试图导出。 (当然,我确实有“评论” - 勾选框)。有没有人知道这个解决方案,或者这只是PHPMyAdmin(此版本)中的一个错误?PHPMyAdmin LaTeX导出不显示行注释
我在PHPMyAdmin版本3.3.9.2中使用MySQL 5.5.9。
我想将我的数据库表导出到PHPMyAdmin中的LaTeX。它确实会生成一个“注释”列,但没有任何东西放在那里,尽管我对表格的几个字段有评论,我试图导出。 (当然,我确实有“评论” - 勾选框)。有没有人知道这个解决方案,或者这只是PHPMyAdmin(此版本)中的一个错误?PHPMyAdmin LaTeX导出不显示行注释
我在PHPMyAdmin版本3.3.9.2中使用MySQL 5.5.9。
我决定自己编写下面的PHP脚本来解决这个问题。它从数据库中的所有MySQL表中生成LaTeX表,并为行名指定一个字段列,并为注释指定一个描述列。该代码不包含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);
}
我希望对某人有用。