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
}
その後Imは、各プロセスに割り当てられた人々を印刷しようとしている:
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)
どのようにして名前を正しく割り当てることができますか?
私はあなたのプロセスを完全に理解していません。しかし、1つのプロジェクト番号に対して同じクエリを3回実行しているようです。私はあなたがプロジェクトの番号で 'ロール'と順序ですべてのプロセスをフェッチし、表示のためにループすることによってクエリを最小限に抑えることができると思う... – Naga