无法在pdf中对齐mysql数据

时间:2013-04-08 07:35:15

标签: php mysql fpdf

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

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();

所以,我错了吗?

1 个答案:

答案 0 :(得分:0)

您是否正在尝试实现一个表格,其中标题会横向移动,而名称和详细信息会在下面的列中显示?

如果是这样,我不确定为什么要将每个单元设置为400mm的宽度 $ pdf-&gt;单元格(400,6,'学生姓名',1,0,'L',1);

看起来你正试图用你的SetX功能让你的细胞宽60mm?你有没有理由这样做,而不是你的代码 $ pdf-&gt; Cell(60,6,'学生姓名',1,0,'L',1);这样你每次都不需要设置X,下一个Cell'NAME OF SCHOOL'应该自动排成一行吗?

然后对于你的MultiCell,你的宽度应该也是60 $ PDF-&GT;多单元(60,6,$ column_school,1);

如果这根本没有用,你可以上传一份当前为你显示的内容的链接。

关于使用FPDF的一些基本信息我最近写了一篇关于FPDF基础知识的博客,因为该网站对它的说明不太有帮助

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

不确定这可能会帮到你吗?

谢谢, 吉文。

相关问题