0
我试图使用fpdf从循环数据库打印数据。所以我有许多进程。并且每个过程都有一定数量的人员。所以第一个SQL是让流程:循环中的单独值
$process=mysqli_query($con,"SELECT * FROM `process` WHERE projectNo='$projectNo'");
if (!$process) {die('Invalid queryyyyy: ' . mysqli_error());}
while($row = mysqli_fetch_array($process))
{
$proc[] = $row["process"];
$len = count($proc); // getting length of an array
}
然后我试着打印指定的人对每一个过程:
for($y=0;$y<$len;$y++)
{
$result4 = getProcessLeader($projectNo,$proc[$y]);
if (!$result4) {
die('Invalid queryyyy: ' . mysqli_error($con));
}
while($row4 = mysqli_fetch_array($result4))
{
$procLeader = $row4['proc_leader'];
$column_procLeader .= $procLeader." (leader), ";
}
$result5 = getProcessChecker($projectNo,$proc[$y]);
if (!$result5) {
die('Invalid query: ' . mysqli_error($con));
}
while($row5 = mysqli_fetch_array($result5))
{
$procChecker = $row5['proc_checker'];
$column_procChecker .= $procChecker." (checker), ";
}
$result6 = getProcessStaff($projectNo,$proc[$y]);
if (!$result6) {
die('Invalid query: ' . mysqli_error($con));
}
while($row6 = mysqli_fetch_array($result6))
{
$procStaff = $row6['proc_staff'];
$column_procStaff .= $procStaff." (staff), ";
}
$pdf->Mach("Process Name: $proc[$y]","","", $column_procLeader, $column_procChecker, $column_procStaff);
}
所以我预期的输出应该是这样的:
Process A:
AHMAD (leader)
JOHN (checker)
ACOL (staff)
Process B:
BOB (leader)
PETER (checker)
DON (staff)
etc.
但我得到的是:
Process A:
AHMAD (leader)
JOHN (checker)
ACOL (staff)
Process B:
AHMAD (leader), BOB (leader)
JOHN (checker), PETER (checker)
ACOL (staff), DON (staff)
如何正确指定名称?
我不完全了解你的过程。但似乎你对一个项目编号执行3次相同的查询。我认为你可以通过用'role'获取所有进程来最小化查询,并按项目编号排序并循环显示...... – Naga