2011-03-28 4 views
7

Ceci est mon code pour générer des pdf en utilisant FPDF en php. Je veux afficher le semestre, le mois de facturation et l'année dans le fichier PDF. Je ne veux pas afficher les valeurs dans la table.
Je veux afficher en haut de la page. Comment puis-je faire ceci? Toute suggestion? Merci d'avance. À votre santé.Affichage des valeurs dans 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

A peu près la même chose que vous faites déjà ... trouver le X/Y où vous ne voulez, ajoutez une cellule ... – Orbling

+0

je ne suis pas en mesure d'afficher quand je crée une cellule séparée , son erreur de retour. – Coolbreeze

+1

@Dinzy: 'Cell()' renvoie une erreur? Transmettez-vous des paramètres invalides? – Orbling

Répondre

1

Ajoutez ceci à votre code entre la ligne $Y_Table_Position = 46 et ligne $pdf->Cell(15,50,'Anna University Hostels');, il affiche « semestre, mois, année » couleur gris en haut à droite de votre page (changement semestre, mois, année avec leurs valeurs réelles) .

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

Comme vous le voyez, je vais à X = 160, Y = 0 et créer une nouvelle cellule avec le texte de votre choix, la police et la couleur personnalisée, après cela, je change la couleur au noir (beacause ma couleur de police par défaut est blanc) et allez à X = 16, Y = 8 pour que votre "Anna University Hostels" soit imprimé dans la même position. Après cela, votre table sera imprimée comme avant.

Espérons que je comprends votre question, et c'est ce que vous cherchez. (sinon laissez un commentaire :))

1

Configurez les éléments dont vous avez parlé dans la fonction d'en-tête.

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'); 
    ... 
    ... 
} 
Questions connexes