【问题标题】:FPDF - how to make getstringwidth globaly?FPDF - 如何在全球范围内制作 getstringwidth?
【发布时间】:2017-12-09 01:25:39
【问题描述】:

当使用while 时,我想调用已经在另一个while 中声明的getstringwidth,只是为了设置下一行的宽度。

我的表格标题:

while ($row2x = $stmt2x->fetch(PDO::FETCH_ASSOC)){
    $string = $row2x['nama_kriteria'];
    $cellwidth = $pdf->GetStringWidth($string);
    $pdf->Cell($cellwidth + 2,7,$row2x['nama_kriteria'],1,0,'L');
}

如何为下一个表格行使用表格标题宽度?

我的表格行:

while ($rowrx = $stmtrx->fetch(PDO::FETCH_ASSOC)){
        $pdf->Cell(/*$cellwidth + 2*/,7,$rowrx['nilai_rangking'],1,0,'L');
    }

目前,我的表格如下所示:

知道如何让它好看吗?

【问题讨论】:

  • 有什么想法吗?
  • 如果你输入 "$cellwidth + 2,7" 会发生什么?
  • @Bernhard 表格为空,因为我的表格标题中的$cellwidthwhile ($row2x = $stmt2x->fetch(PDO::FETCH_ASSOC)){ $string = $row2x['nama_kriteria']; $cellwidth = $pdf->GetStringWidth($string);} 我在表格标题的表格行上使用的单元格宽度
  • 需要帮助
  • 还不知道怎么解决,请问有什么办法吗?

标签: php html mysql width fpdf


【解决方案1】:

尝试将宽度存储在数组中。

$width = array();
while ($row2x = $stmt2x->fetch(PDO::FETCH_ASSOC)){
    $string = $row2x['nama_kriteria'];
    $cellwidth = $pdf->GetStringWidth($string);
    $pdf->Cell($cellwidth + 2,7,$row2x['nama_kriteria'],1,0,'L');
    $width[] = $cellwidth + 2;
}

$i = 0;
while ($rowrx = $stmtrx->fetch(PDO::FETCH_ASSOC))
{
    $pdf->Cell($width[$i],7,$rowrx['nilai_rangking'],1,0,'L');
    $i++;
}

您需要填充从$cellwidth = $pdf->GetStringWidth($string); 获得的宽度数组,然后您只需使用宽度变量中的宽度值

【讨论】:

    猜你喜欢
    • 2014-11-22
    • 2020-07-11
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多