I P*_*ect 11 php mysql arrays dompdf
我在使用多维数组及其值时遇到了一些麻烦.
我正在寻找的是,从我的查询中我在数组中搜索教师的名字.之后我想用dompdf创建一个pdf.问题在于循环.我无法创建一个适合我想要它工作的循环.我的示例查询是
$q11 = "select id from teachers order by teacher ";
$r11 = mysql_query($q11) or die(mysql_error());
while($rows11 = mysql_fetch_array($r11)){
$teacher = $rows11['id'];
$dompdf->"It will start working";
}
Run Code Online (Sandbox Code Playgroud)
现在我知道,这段代码令人困惑,但我想要的是,它应该为每个教师在一个单独的pdf文件中创建dompdf.就像查询一样,它应该获取教师,并且对于每个教师,它应该创建一个dompdf页面.目前,它根据我的查询搜索的最后一个值只生成一个页面.
请帮忙.这有点紧急.
Mic*_*eim 25
你的循环工作正常.将页面添加到PDF的方式可能是错误的.显然,你一次又一次地覆盖一个页面,而不是附加一个新页面.
编辑
我从来没用过dompdf.快速浏览文档让我觉得你创建的东西就像HTML标记然后转换成PDF,我做对了吗?
示例代码
$html = <<<HTML
<html>
<head>
<style type="text/css">
/* Your document styling goes here */
</style>
</head>
<body>
HTML;
while ( $row = $dbResult->fetch_assoc() ) {
$html .= '<div class="teacherPage">'
. $row['name'] // your teacher document goes here
'</div>';
}
$html .= '</body></html>';
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf");
Run Code Online (Sandbox Code Playgroud)
如果你想知道不寻常的语法$var = <<<HTML \r\nHTML
,那就是heredoc.当你有很多外来内联代码时,使用heredocs会更舒服,这可能有变量{$varname}
,你不需要担心引号.所有你需要确保的是,heredoc更接近HTML
是一个新的行,而不是缩进.
EDIT2
仍然不太确定,您正在使用哪个库.我发现这个扩展看起来很不错,它被称为dompdf,就像你在你的问题中所说的那样.
您的最新评论表明您目前尚未解决问题,因此我决定添加更多信息以帮助您实现目标.
免责声明:我不打算编写功能代码,我不会对此进行测试,但以下提示将帮助您找到正确的方向来完成您的工作.
dompdf能够读取输入文档的CSS2和CSS3属性.
while
上面循环中的每个循环代表一个教师,每个教师在输出文档中获得一个自己的页面.
我将页面放入带有类的div容器中teacherPage
.您可以使用要为教师显示的所有信息填充此容器.
现在我们需要做的就是告诉dompdf每个teacherPage
都是一个新页面.这可以使用CSS3附带的@page
标记来完成
我<style type="text/css"></style>
在上面的示例文档中添加了一个空的css容器,这是页面样式应该去的地方.
示例CSS
@page teacher {
size: A4 portrait;
margin: 2cm;
}
.teacherPage {
page: teacher;
page-break-after: always;
}
Run Code Online (Sandbox Code Playgroud)
随着@page
您可以定义一个名为页面teacher
,它可以适用于整个页面容器的属性.
page-break-after: always
将在每个容器后开始一个新页面
希望这有帮助,玩得开心:)
Wal*_*aza 12
显然没有溢出问题,并且结果超出了工作表的允许范围,您可以做的是将数据与另一个表中的父项分开并放在它们之间:
<div style="page-break-before: always;"></div>
Run Code Online (Sandbox Code Playgroud)