将MySQL数据导出到RTF模板,创建多个页面

时间:2012-10-16 20:15:59

标签: mysql loops header content-type

只要我只有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;
}

1 个答案:

答案 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;