如何根据值计数增加宽度

时间:2015-01-21 16:05:57

标签: php for-loop

首先,我真的很抱歉我的英语。我试着解释我的想法。我使用fpdf以pdf格式制作动态发票。我有多个产品可以添加一张发票,我必须将它们列在底部。但产品在所有发票中都会发生变化。一些发票有5个产品,但有些发票有2个产品。我的问题是我使用下面的代码,但所有行都被覆盖。

$invoices_query = mysql_query("SELECT * FROM invoice_bookings WHERE invoice_code = '$invoice_code'");
while ($invoices = mysql_fetch_array($invoices_query)) {

$customers_name = $invoices['customer_name'];

$pdf->Ln(0);
$pdf->Cell(21,123,$invoice_number,0,0,'L',0);   // empty cell with left,top, and right borders
$pdf->Cell(30,123,$customers_name,0,0,'L',0);
$pdf->Cell(20,123,$date,0,0,'L',0);
$pdf->Cell(20,123,$time,0,0,'L',0);
$pdf->Cell(30,123,$suburb_from,0,0,'L',0);
$pdf->Cell(34,123,$suburb_to,0,0,'L',0);
$pdf->Cell(10,123,'% ' . $tax_percent,0,0,'L',0);
$pdf->Cell(25,123,'$ ' . $invoice_price,0,0,'R',0);

}

您可以看到保证金的价值。你可以看到它是123。例如,我必须将此值增加到132。而对于其他产品142我必须做。例如,此发票中有5个产品,我必须这样做;

首先123 第二次133 第三个143 第四次153 第五次163

但我真的不知道我该怎么做。

1 个答案:

答案 0 :(得分:0)

就这样。添加一个计数器,对其进行初始化,并始终使用10。

$cnt = 123; //Init the counter
while ($invoices = mysql_fetch_array($invoices_query)) {

    $customers_name = $invoices['customer_name'];

    $pdf->Ln(0);
    $pdf->Cell(21, $cnt, $invoice_number, 0, 0, 'L', 0);   // empty cell with left,top, and right borders
    $pdf->Cell(30, $cnt, $customers_name, 0, 0, 'L', 0);
    $pdf->Cell(20, $cnt, $date, 0, 0, 'L', 0);
    $pdf->Cell(20, $cnt, $time, 0, 0, 'L', 0);
    $pdf->Cell(30, $cnt, $suburb_from, 0, 0, 'L', 0);
    $pdf->Cell(34, $cnt, $suburb_to, 0, 0, 'L', 0);
    $pdf->Cell(10, $cnt, '% ' . $tax_percent, 0, 0, 'L', 0);
    $pdf->Cell(25, $cnt, '$ ' . $invoice_price, 0, 0, 'R', 0);
    $cnt = $cnt  + 10; //Incrase it in the loop.
}

注意

  • 不要使用mysql函数,不推荐使用它们。请改用mysqliPDO

  • 通过从外部转义变量来避免sql注入,或者使用准备好的语句。