只要我只有1行,从数据库中提取的数据就会插入到RTF模板中而不会出现问题。但是,如果我将header("Content-type: text/rtf")
置于循环中,则会收到已发送错误的标头。从代码中删除标题时,原始数据在浏览器窗口中正确打印。
如何组合数据库中多个记录的数据来创建多个文档(或带有分页符的1个文档)?
代码在这里:
$document='../docs/letter.rtf';
$qry="Select * from table";
$result=mysql_query($qry);
$num_row=mysql_num_rows($result);
while($row=mysql_fetch_assoc($result)){
$account_id=$row['pk_account];
$name=$row['first_name'];
$file_doc='01-'.$pk_account.'.rtf';
....
$body=file_get_contents($document);
$body=str_replace("NAME", $name, $body);
....
for($i=0; $i<$num_rows; $i++){
}
header("Content-type: text/rtf");
header("Content-Disposition:attachment; filename={$file_doc}");
echo $body;
}
答案 0 :(得分:0)
你需要连接你的$ body。所以不要这样:
$body=file_get_contents($document);
$body=str_replace("NAME", $name, $body);
试试这个:
$body.=str_replace("NAME", $name, file_get_contents($document));
然后将它放在你的while循环之外:
header("Content-type: text/rtf");
header("Content-Disposition:attachment; filename={$file_doc}");
echo $body;