在pdf中对齐mysql数据有麻烦


having trouble to align mysql data in the in pdf

我想在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();

那么我做错了什么?

您是否正在尝试实现一个表格,标题横向跨越,名称和详细信息在下面的列中跨越?

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

它看起来像你试图使你的细胞60mm宽与SetX功能?有什么原因为什么你这样做,而不是让你的代码$pdf->Cell(60,6,'NAME OF STUDENT',1,0,'L',1);这样你就不需要每次都设置x,下一个单元格"NAME OF SCHOOL"应该自动排在这个单元格的右边。

对于你的MultiCell,你应该把它的宽度也设置为60pdf ->多单元的(60 6 column_school美元,1),

如果这没有帮助,你可以上传一个链接,它目前正在为你显示什么。

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

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

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

谢谢,谢。