我正在通过 PHP 将内容从 MySQL 数据库导出到 Word 模板 (RTF)。
有一个部分,“附录 B”,它应该显示为记录找到的所有首字母缩略词。本节最少出现 90 条记录(即,这些是每条记录的标准首字母缩略词 (tblAcronyms));但是最大记录未知,因为用户可以添加到此列表(tblAppendixB)。
Word(即RTF)文档应该显示找到的所有记录,但是,它只显示第一条记录。
这是我迄今为止所拥有的:
<?php
....
#Retrieve Appendix B records
$qry_get_AppB = "SELECT vAcronym, vAcronymDesc FROM tblAcronyms
UNION SELECT vAcronym, vAcronymDesc FROM tblAppendixB
WHERE fkID = ". $i_fk_id . " ORDER BY vAcronym ASC";
$qry_appb_result = mysql_query($qry_get_AppB);
$qryAppBno_rows = mysql_num_rows($qry_appb_result);
//Generate the headers to help a browser choose the correct location
header('Content-Type: application/msword');
header('Content-Disposition: inline; filename="'.$vProgramName.'_rec.rtf");
//Open the template file
$tfilename = 'Appb_Template.rtf';
$fp = fopen($tfilename, 'r');
//Read the template into a variable
$toutput = fread($fp, filesize($tfilename));
fclose($fp);
//Replace the place holders in the template with data
if($qryAppBno_rows > 0)
{
while($rowAppB = mysql_fetch_array($qry_appb_result))
{
$vAppB = $rowAppB['vAcronym'] . '-' . $rowAppB['vAcronymDesc'] . "\r\n";
$toutput = str_replace('<<vAppB>>', $vAppB, $toutput);
}
}
//Send the generated document to the browser
echo $toutput;
?>
我已经搜索了这个论坛和其他人,但还没有找到解决方案。
非常感谢任何帮助。