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;
?>
このフォーラムや他のフォーラムを検索しましたが、まだ解決策が見つかりません。
どんな援助も大歓迎です。