【问题标题】:Separate value in loop循环中的单独值
【发布时间】:2017-01-23 02:09:28
【问题描述】:

我正在尝试使用 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 获取所有进程并按项目编号排序并将其循环显示来最小化查询...

标签: php sql fpdf


【解决方案1】:

在 for 循环旁边添加 $column_procLeader = $column_procChecker = $column_procStaff = ''; 行,如下所示。

for($y=0;$y<$len;$y++)
{   
  $column_procLeader = $column_procChecker = $column_procStaff = '';
  .....

【讨论】:

    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 2021-05-01
    • 2020-12-11
    • 2019-04-19
    • 2013-04-25
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多