1

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

1 回答 1

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;
于 2012-10-16T21:49:19.037 回答