FPDF - выводить пропущенные строки в таблицах с несколькими столбцами - PullRequest
0 голосов
/ 12 марта 2019

Я вывожу запрос из моей базы данных в три столбца, используя FPDF. Я использую код по умолчанию из демоверсии FPDF здесь: http://www.fpdf.org/en/tutorial/tuto4.html

Однако, когда я вывожу результаты, кажется, что пропускаются строки между каждой страницей.

https://ibb.co/Jv3ZNpX

Как вы можете видеть на изображении, оно увеличивается с 103 до 139.

Код, который я использую, ниже. Кто-нибудь может определить, почему пропускаются строки?

var $col = 0; 

function SetCol($col) 
{ 
// Set position at a given column 
$this->col = $col; 
$x = 10+$col*65; 
$this->SetLeftMargin($x); 
$this->SetX($x); 
} 

function AcceptPageBreak() 
{ 
// Method accepting or not automatic page break 
if($this->col< 2) 
{ 
// Go to next column 
$this->SetCol($this->col+1); 
// Set ordinate to top 
$this->SetY($this->y0); 
// Keep on page 
return false; 
} 
else 
{ 
// Go back to first column 
$this->SetCol(0); 
// Page break 
return true; 
} 
} 


function output_pdf( $id, $complete ) { 
global $wpdb; 
if ( $complete ) { 
$table = "tickets"; 
} 

else { 
$table = "tickets_regenerated"; 
} 

if ( $wpdb->get_var( $wpdb->prepare( 'SELECT * FROM '.$wpdb->prefix.$table.' WHERE lottery_id= %d AND used = %d', $id, 1 ) ) ) { 

$log = $wpdb->get_results( $wpdb->prepare( 'SELECT * FROM '.$wpdb->prefix.$table.' WHERE lottery_id=%d AND used = %d ORDER BY full_name ASC', $id, 1 ) ); 

global $pdf; 
$pdf->AliasNbPages(); 

$title_line_height = 10; 
$date = date("d-m-Y-H-i-s"); 

$title = get_the_title($id); 
$post = get_post($id); 
$slug = $post->post_name; 

$content_line_height = 8; 

$pdf->AddPage('L'); 

$pdf->SetFont( 'Arial', '', 42 ); 

$pdf->SetFont( 'Arial', 'B', 8); 
$pdf->Cell(20,5,'', 1); 
$pdf->Cell(20,5,'Order Number', 1); 
$pdf->Cell(35,5, 'Full name (billing)', 1); 
$pdf->Cell(25,5, 'Draw #' ,1); 


error_log(print_r(count($log), true)); 

$pdf->Ln(); 

$i = 0; 
$count = 0; 

foreach( $log as $row ) { 

if($i%2 == 0) : 
$pdf->setFillColor(255,255,255); 
else : 
$pdf->setFillColor(230,230,230); 
endif; 

$pdf->SetFont( 'Arial', '', 8 ); 
$pdf->Cell(20,5,$count, 1, 0, 'C', true); 
$pdf->Cell(20,5,$row->order_id, 1, 0, 'C', true); 
$pdf->Cell(35,5, $row->full_name,1, 0, 'C', true); 
$pdf->Cell(25,5,$row->ticket_number,1, 0, 'C', true); 
$pdf->Ln(); 
$i++; 
$count++; 

} 
} 

$upload = wp_upload_dir(); 
$upload_dir = $upload['basedir']; 
$upload_dir = $upload_dir . '/entry-lists/'.$id.'-'.$slug; 
if (! is_dir($upload_dir)) { 
mkdir( $upload_dir, 0700 ); 
} 

$pdf->Output('D', $id.'.pdf', true); 
$pdf->Output('F', $upload_dir.'/'.$id.'-'.$slug.'-'.$date.'.pdf', true); 

exit; 

}
...