提问人:pal 提问时间:10/6/2023 最后编辑:pal 更新时间:10/13/2023 访问量:108
如何以pdf形式单独打印每个数组的值?
How to individually print the values per array in pdf form?
问:
我想以pdf形式打印每个数组的值,因为该程序包含大量数组,并且永远不会在数据方面具体化。
这是我的代码:模型中的函数,它调用数据库中的所有数据。$this->submissionPSDirectCost
$ps_data_string = "";
foreach ($this->submissionPSDirectCost as $ps) {
$ps_data = [
"<b>" . (($ps->ps_type == 0) ? "Salary" : "Honoraria") . "</b>",
"<br>",
$ps->ps_quantity ,
$ps->title,
"at",
$ps->salary ,
"/Month x",
$ps->ps_num_duration,
$ps->mode_payment,
"<br>",
];
$ps_data_string .= "<tr><td colspan=\"1\">" . implode(" ", $ps_data) . "</td></tr>";
}
$ps_amount = " ";
foreach ($this->submissionPSDirectCost as $ps) {
$psamount =[
$ps->amount,
"<br>",
];
$ps_amount .= "<td colspan=\"1\">" . implode(" ", $psamount) . "</td>";
}
然后这是我的 html 内联代码,用于调用$ps_data_string
'.$ps_data_string.''.$ps_amount.'
答:
0赞
romeo1987
10/6/2023
#1
正如另一个答案中所建议的,直接在循环中创建行应该可以达到目的。但是,如果我正确理解了要求,您需要(移位,在它里面)仅在连接所有 13 个元素后创建行$ps_data
$ps_data_string
$ps_data
foreach ($this->submissionPSDirectCost as $ps) {
$ps_data = null;
$ps_data[] = ($ps->ps_type == 0) ? "Salary" : "Honoraria";
//remaining 12 elements of $ps_data to follow
$ps_row = implode(" ", $ps_data);
$ps_data_string .= "<tr><td colspan=\"3\">$ps_row</td></tr>";
}
然后你在你的html中使用。<table><?php echo $ps_data_string;?></table>
评论
0赞
pal
10/9/2023
嗨@romeo1987谢谢你,它适用于行!但是,所有数据都是按循环打印的。它使数据变得多余,我该如何避免它?谢谢
0赞
romeo1987
10/9/2023
您@pal可以编辑您的问题并包含一些显示当前输出(使用此代码)与预期输出的示例数据?
0赞
pal
10/13/2023
嗨,罗密欧,我已经编辑了我的问题
0赞
romeo1987
10/13/2023
@pal您共享了模板(而不是示例数据)并完全修改了代码(最初发布的代码)。因此,建议的答案不再相关。
0赞
Khribi Wessim
10/6/2023
#2
您可以按如下方式修改代码:
($this->submissionPSCost as $ps) {
$ps_data_row = array $ps_data_row = ($ps->ps_type == ) ? "Salary" : "Haria";
$ps_data_row[] = $ps->ps_quantity;
$ps_data_row[] = $ps->title;
$ps_data_row[] = "at";
$ps_data_row[] = $ps->salary;
$ps_data_row[] = "/Month x";
$ps_data_row[] = $ps->ps_num_duration;
$ps_data_row[] = $ps->mode_payment;
$ps_data_row[] = " ";
$ps_data_row[] = " ";
$ps_data_row[] = $ps->amount;
$ps_data[] = '<tr><td>'.implode('</td><td>', $ps_data_row).'</td></tr>';
}
$ps_data_string = implode("", $ps_data);
现在,每一行数据都存储在数组中,然后将其内爆以创建 HTML 表行结构。然后将生成的行添加到数组中。$ps_data_row
</td><td>
$ps_data
最后,您可以在 HTML 模板中使用它,如下所示:$ps_data_string
>
php echo $ps_data_string; ?>
</table>
评论
0赞
pal
10/9/2023
嗨,@Khribi,<table>标签对我不起作用。它不会显示收集到的所有数据
评论