2013-04-08 82 views
-1

我想我的数据正确对齐pdf文件frm mysql数据库。但是我得到的结果并不是我想要的,我最后一列只是低于另一列,而我想与另一列对齐。 我已经尝试过这样的事情。麻烦对齐mysql数据在pdf

while (ob_get_level()) 
ob_end_clean(); 
header("Content-Encoding: None", true); 




$host="localhost"; 
$user="root"; 
$password=""; 
$db_name="pdf_test"; 
$conn=mysql_connect($host,$user,$password) or die("cannot connect to the 
database".mysql_error()); 
mysql_select_db($db_name,$conn)or die("cannot select the database".mysql_error()); 


include('fpdf.php'); 

$q=mysql_query("select * from education_mailstone"); 
$number_of_persons=mysql_num_rows($q); 

//initialize the 4 columns and the total 
$column_name=""; 
$column_school=""; 
$column_year=""; 
$column_score=""; 

//For each row add field to the specific column 
while($row=mysql_fetch_array($q)){ 
$name=$row['name']; 
$school=$row['school']; 
$year=$row['year']; 
$score=$row['score']; 


$column_name=$column_name.$name."\n"; 
$column_school=$column_school.$school."\n"; 
$column_year=$column_year.$year."\n"; 
$column_score=$column_score.$score."\n"; 
} 



$pdf=new FPDF(); 
$pdf->AddPage(); 
$Y_Fields_Name_position=20; 
$Y_Table_position=26; 
$pdf->SetFillColor(232,232,232); 
$pdf->SetFont('Arial','B',12); 
$pdf->SetY($Y_Fields_Name_position); 
$pdf->SetX(10); 
$pdf->Cell(400,6,'NAME OF STUDENT',1,0,'L',1); 
$pdf->SetX(60); 
$pdf->Cell(400,6,'NAME OF THE SCHOOL',1,0,'L',1); 
$pdf->SetX(120); 
$pdf->Cell(400,6,'COMPLETION YEAR',1,0,'L',1); 
$pdf->SetX(180); 
$pdf->Cell(50,6,'SCORE',1,0,'L',1); 
$pdf->Ln(); 
$pdf->SetFont('Arial','',12); 
$pdf->SetY($Y_Table_position); 
$pdf->SetX(10); 
$pdf->MultiCell(400,6,$column_name,1); 
$pdf->SetY($Y_Table_position); 
$pdf->SetX(60); 
$pdf->MultiCell(400,6,$column_school,1); 
$pdf->SetY($Y_Table_position); 
$pdf->SetX(120); 
$pdf->MultiCell(400,6,$column_year,1); 
$pdf->SetX(180); 
$pdf->MultiCell(50,6,$column_score,1); 
$pdf->Ln(); 
$i = 0; 
$pdf->SetY($Y_Table_position); 
while ($i < $number_of_persons) 
{ 
    $pdf->SetX(10); 
    $pdf->MultiCell(120,6,'',1); 
    $i = $i +1; 
} 
$pdf->Output(); 

所以笏我在干什么了?

回答

0

您是否试图实现横向标题和下面各列中的名称和详细信息的表格?

如果是这样,我不知道你为什么要设置每个单元格的宽度为400mm $ pdf->单元格(400,6,'学生名称',1,0,'L',1 );

它看起来像你正在试图使您的单元格与您的SetX函数60毫米宽?是否有任何理由不这样做,而不是让你的代码为 $ pdf->单元格(60,6,'学生名称',1,0,'L',1);这样,你以后每次都不需要设置X,并且下一个单元的“学校名称”应该自动排列在这个单元的右侧? MultiCell(60,6,$ column_school,1);这是一个很好的选择。

如果这无济于事,你可能会上传一个当前显示给你的链接。

有关使用FPDF我最近写在FPDF的基础知识博客的一些基本信息,如该网站是不是太有帮助的说明

http://www.limelightonline.co.nz/blog/create-dynamic-pdf-with-php-tutorial/

不知道这可能会帮助你?

谢谢, 谢谢。