Php 阵列回波问题
我正在尝试以pdf格式输出数据。多达10个值的代码工作正常,但它不是显示第11个值,而是从第12个值继续显示。请帮我修一下Php 阵列回波问题,php,fpdf,Php,Fpdf,我正在尝试以pdf格式输出数据。多达10个值的代码工作正常,但它不是显示第11个值,而是从第12个值继续显示。请帮我修一下 <?php $result=mysqli_query($conn,"SELECT * FROM TABLE"); $Items = array(); while ($row = mysqli_fetch_assoc($result)) { $Items[] = $row; } $x=0; $y=0; $a=5; $b=5; require(
<?php
$result=mysqli_query($conn,"SELECT * FROM TABLE");
$Items = array();
while ($row = mysqli_fetch_assoc($result)) {
$Items[] = $row;
}
$x=0;
$y=0;
$a=5;
$b=5;
require('../pdf/alphapdf.php');
$pdf = new AlphaPDF();
$pdf->AddPage();
$title = 'Demo';
$pdf->SetTitle($title);
$pdf->SetLineWidth(1.5);
$pdf->SetAlpha(1);
foreach ($Items as $array) {
if($x<5){
$pdf->Image('abc.png',$a,$b,-300);
$pdf->SetFont('Arial', '', 9);
$pdf->Text($a,$b,$array['userName']);
$a=$a+58;
$x++;
}elseif($x>=5 && $x<10){
if($a>290){$a=5;}
$b=100;
$pdf->Image('abc.png',$a,$b,-300);
$pdf->SetFont('Arial', '', 9);
$pdf->Text($a,$b,$array['userName']);
$a=$a+58;
$x++;
}else{
$x=0;
$a=5;
$b=5;
$pdf->AddPage();
}
}
$pdf->Output();
?>
我知道这个问题是因为我正在使用else语句,但我不确定如何解决它。这里是解决这个问题的快速而简短的方法。您必须同时使用小于和等于。请更新您的代码行:
}elseif($x>=5 && $x<=10){
}elseif($x>=5&&$x当第11条记录进入您的代码时,您的代码转到其他部分,在那里您编写代码只是为了创建一个新页面,没有其他内容。这就是为什么跳过第11条记录
此外,您正在多次使用重复代码,这实际上并不需要,请尝试如下操作:
$x=0;
$a=5;
$b=5;
foreach ($Items as $array) {
if($x %10 == 0 ){ // after each 10 record add new page
$x=0;
$a=5;
$b=5;
$pdf->AddPage();
}
//add entries irrespective of pages.
$pdf->Image('abc.png',$a,$b,-300);
$pdf->SetFont('Arial', '', 9);
$pdf->Text($a,$b,$array['userName']);
$a=$a+58;
$x++;
}
如果$x>10
,您将点击添加新页面的else
语句。但是您没有实际输出第11项,而是继续处理第12项。请这样尝试:(使用链接代码)@AlivetoDie谢谢much@AlivetoDie是的,的确如此:)