2011-03-28 23 views
7

这是我在php中使用FPDF生成pdf的代码。我想在PDF文件中显示学期,账单月份和billyear。我不想显示表中的值。
我想显示在页面的顶部。我怎样才能做到这一点?任何建议?提前致谢。干杯。在FPDF中显示值

<?php 

    session_start(); 
    require('fpdf/fpdf.php'); 

    //Connect to your database 

    $r1=$_SESSION['sem1']; 

    $con=mysql_connect('localhost','root',''); 

    if(!$con) 
    { 
    die('Unable to connect'.mysql_error()); 
    } 
    mysql_select_db('hostel',$con); 

    $result=mysql_query("SELECT r.hosteladmissionno, 
      r.student_name, 
      r.semester, 
      r.blockname 
      r.branch, 
      m.billmonth,m.billyear , 
      (s.days_mess*perdayrate) AS mess_charges, 
      m.perdayrate, 
      s.days_mess,s.nv_tokens 
      FROM registration r,student_month s,messexp m 
      WHERE s.hosteladmissionno = r.hosteladmissionno 
      AND r.mess_type=m.messtype 
      AND m.billmonth = 'March' AND m.billyear= '2014'"); 
     $number_of_products = mysql_numrows($result); 

    while($row = mysql_fetch_array($result)) 
    { 
     $hostad = $row['hosteladmissionno']; 
     $name = $row['student_name']; 
     $block=$row['blockname']; 
     $branch=$row['branch']; 
     $perday=$row['perdayrate']; 
     $days=$row['days_mess']; 
     $messch= $row['mess_charges']; 
     $nv=$row['nv_tokens']; 




     $column_no = $column_no.$hostad."\n"; 
     $column_name = $column_name.$name."\n"; 
     $sem_details= $sem_details.$block."\n"; 
     $comm_details= $comm_details.$branch."\n"; 
     $course_details= $course_details.$perday."\n"; 
     $courseyr_details= $courseyr_details.$days."\n"; 
     $mess_details= $mess_details.$messch."\n"; 
     $block_details= $block_details.$nv."\n"; 



    } 
    mysql_close(); 

    //Create a new PDF file 
    $pdf=new FPDF('P','mm','A4'); 

    $pdf->AddPage(); 

    //Fields Name position 
    $Y_Fields_Name_position = 40; 
    //Table position, under Fields Name 
    $Y_Table_Position = 46; 
    $pdf->Cell(15,50,'Anna University Hostels'); 
    //First create each Field Name 
    //Gray color filling each Field Name box 
    $pdf->SetFillColor(232,232,232); 
    //Bold Font for Field Name 
    $pdf->SetFont('Arial','B',9); 
    $pdf->SetY($Y_Fields_Name_position); 
    $pdf->SetX(5); 
    $pdf->Cell(23,6,'Admission No',1,0,'L',1); 
    $pdf->SetX(28); 
    $pdf->Cell(37,6,'Student Name',1,0,'L',1); 
    $pdf->SetX(65); 
    $pdf->Cell(18,6,'Block Name',1,0,'L',1); 
    $pdf->SetX(83); 
    $pdf->Cell(20,6,'Branch',1,0,'L',1); 
    $pdf->SetX(103); 
    $pdf->Cell(22,6,'Per Day Rate',1,0,'L',1); 
    $pdf->SetX(125); 
    $pdf->Cell(22,6,'No of Days',1,0,'L',1); 
    $pdf->SetX(147); 
    $pdf->Cell(20,6,'Mess charge',1,0,'L',1); 
    $pdf->SetX(167); 
    $pdf->Cell(18,6,'NV Token',1,0,'L',1); 
    $pdf->SetX(185); 
    $pdf->Cell(25,6,'Block Name',1,0,'L',1); 
    $pdf->Ln(); 

    //Now show the 3 columns 
    $pdf->SetFont('Arial','',12); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(5); 
    $pdf->MultiCell(23,6,$column_no,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(28); 
    $pdf->MultiCell(37,6,$column_name,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(65); 
    $pdf->MultiCell(18,6,$block,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(83); 
    $pdf->MultiCell(20,6,$branch,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(103); 
    $pdf->MultiCell(22,6,$perday,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(125); 
    $pdf->MultiCell(22,6,$days,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(147); 
    $pdf->MultiCell(20,6,$messch,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(167); 
    $pdf->MultiCell(18,6,$nv,1); 
    $pdf->SetY($Y_Table_Position); 
    $pdf->SetX(185); 
    $pdf->MultiCell(25,6,$block_details,1); 
    $i = 0; 
    $pdf->SetY($Y_Table_Position); 
    while ($i < $number_of_products) 
    { 
     $pdf->SetX(5); 
     $pdf->MultiCell(205,6,'',1); 
     $i = $i +1; 
    } 
    $pdf->Output(); 
    ?> 
+2

相当多,你已经做...找到X同样的事情/在哪里你想它,增加小区Y ... – Orbling 2011-03-28 05:21:51

+0

林不能当我创建一个单独的单元格中显示它,它的返回错误。 – Coolbreeze 2011-03-28 05:40:58

+1

@Dinzy:'Cell()'返回一个错误?你传递了无效的参数吗? – Orbling 2011-03-28 05:44:44

回答

1

添加到您的代码行$Y_Table_Position = 46和线路$pdf->Cell(15,50,'Anna University Hostels');之间,它会在你的页面的右上角显示“学期,月,年”灰色(改变学期,月,年用自己的真实的值) 。

//Fields Name position 
    $Y_Fields_Name_position = 40; 
    //Table position, under Fields Name 
    $Y_Table_Position = 46; 
// ABOVE IS YOUR ORIGINAL CODE, ADD The FOLOWING LINES 

    $pdf->SetXY(160,0); 
    $pdf->SetFont('Times','B',6); 
    $pdf->SetTextColor('139','140','142'); 
    $pdf->Cell(5,15,'Semester,Month,Year',0,0,'L'); 

    $pdf->SetTextColor('0','0','0'); 
    $pdf->SetXY(16,8); 

// CONTINUE WITH ORIGINAL CODE 
    $pdf->Cell(15,50,'Anna University Hostels'); 
    //First create each Field Name 
    //Gray color filling each Field Name box 
    $pdf->SetFillColor(232,232,232); 

正如你看到的,我去X = 160,Y = 0,并创建所需的文字,自定义字体和颜色,在那之后,我改变颜色为黑色(东阳我的默认字体颜色的新细胞是白色的)并且去X = 16,Y = 8因此您的“安娜大学旅舍”在同一个位置被印刷。之后,你会像以前一样打印表格。

希望我没有提到你的问题,这就是你要找的。 (如果不发表评论:))

1

设置你在头文件中提到的东西。

function header() 
{ 
    $this->SetFont('whatever the font u like','B',23)//I just randomly set fonts 
    $this->Cell(30,10,'$_POST['user_id']',0,0,'C'); 
    ... 
    ... 
}