我需要得到像这样的输出
但我的代码输出是
代码:
$row1a=mysql_fetch_array($sql_1a);
$row1b=mysql_fetch_array($sql_1b);
$row1c=mysql_fetch_array($sql_1c);
$pdf->Cell(6,6," 1 a) ",0,0);
$x = $pdf->GetX();
$y = $pdf->GetY();
$pdf->MultiCell(150,6,"{$row1a['Question']}",0,1);
$pdf->SetXY($x + 160, $y);
$pdf->Cell(6,6,"{$row1a['Mark']}",0,1);
$pdf->Cell(6,6," b) ",0,0);
$x = $pdf->GetX();
$y = $pdf->GetY();
$pdf->MultiCell(150,6,"{$row1b['Question']}",0,1);
$pdf->SetXY($x + 160, $y);
$pdf->Cell(6,6,"{$row1b['Mark']}",0,1);
$pdf->Cell(6,6," c) ",0,0);
$x = $pdf->GetX();
$y = $pdf->GetY();
$pdf->MultiCell(150,6,"{$row1c['Question']}",0,1);
$pdf->SetXY($x + 160, $y);
$pdf->Cell(6,6,"{$row1c['Mark']}",0,1);
其中$ row1a,$ row1b,$ row1c是用于从数据库中获取问题和标记的变量。 由于问题可以是从数据库中获取的可变长度,因此它与下一个问题重叠。
提前致谢。
答案 0 :(得分:0)
在重叠的行上试试这个:
$height = round(strlen($row1b['Question']) / 35);
$height = ($height < 1 ? 1 : $height);
$height = $height * 6;
$pdf->MultiCell(150,$height,"{$row1b['Question']}",0,1);
答案 1 :(得分:0)
每次GetY()
次呼叫后执行MultiCell()
次更新(每次向下推送当前的Y值),并在每次进一步MultiCell()
时正确重新计算。