Avatar billede compac Seniormester
18. august 2008 - 21:14 Der er 13 kommentarer og
1 løsning

Overskrift til kolonner i pdf-dokumenter

Jeg har et script, som skal udtrække data fra min database til et pdf-dokument.

Overskrifterne til kolonnerne kommer imidlertid til at ligge i bunden af dokumentet.

Er der nogen der har forslag?

<?php

require('fpdf.php');

//Connect to your database
include("conn.php");

//Create new pdf file
$pdf=new FPDF();

//Disable automatic page break
$pdf->SetAutoPageBreak(false);

//Add first page
$pdf->AddPage();

//set initial y axis position per page
$y_axis_initial = 25;

//print column titles for the actual page
$pdf->SetFillColor(232,232,232);
$pdf->SetFont('Arial','B',12);
$pdf->SetY($y_axis_initial);
$pdf->SetX(25);
$pdf->Cell(30,6,'Fernisering',1,0,'L',1);
$pdf->Cell(30,6,'Sidste',1,0,'L',1);
$pdf->Cell(100,6,'Udstilling',1,0,'C',1);

$y_axis = $y_axis + $row_height;

//Select the Products you want to show in your PDF file
#$result=mysql_query('select sn,fernisering,sidste,titel,kortbeskr,langbeskr,filnavn from $branch ORDER BY fernisering',$link);
$result=mysql_query("select * from emp_branch ORDER BY fernisering");
//initialize counter
$i = 0;

//Set maximum rows per page
$max = 25;

//Set Row Height
$row_height = 6;

while($row = mysql_fetch_array($result))
{
    //If the current row is the last one, create new page and print column title
    if ($i == $max)
    {
        $pdf->AddPage();

        //print column titles for the current page
        $pdf->SetY($y_axis_initial);
        $pdf->SetX(25);
        $pdf->Cell(30,6,'Fernisering',1,0,'L',1);
        $pdf->Cell(30,6,'Sidste',1,0,'L',1);
        $pdf->Cell(100,6,'Udstilling',1,0,'L',1);
       
        //Go to next row
        $y_axis = $y_axis + $row_height;
       
        //Set $i variable to 0 (first row)
        $i = 0;
    }

    $fernisering = $row['fernisering'];
    $sidste = $row['sidste'];
    $langbeskr = $row['langbeskr'];

    $pdf->SetY($y_axis);
    $pdf->SetX(25);
    $pdf->Cell(30,6,$fernisering,1,0,'L',1);
    $pdf->Cell(30,6,$sidste,1,0,'L',1);
    $pdf->Cell(100,6,$langbeskr,1,0,'L',1);

    //Go to next row
    $y_axis = $y_axis + $row_height;
    $i = $i + 1;
}

//mysql_close($link);

//Create file
$pdf->Output();
?>
Avatar billede jakobdo Ekspert
18. august 2008 - 21:25 #1
Nu er jeg ikke fpdf haj, så hvor er det du mener du sætter din titel på hver side ?
Avatar billede compac Seniormester
18. august 2008 - 21:51 #2
Der skal komme en titel til hver kolonne. Den lægger sig i bunden af tabellen, men den skal komme inden tabellens indhold.
Avatar billede jakobdo Ekspert
19. august 2008 - 08:11 #3
Og hvor angiver du den?

Er det her:

//print column titles for the current page
        $pdf->SetY($y_axis_initial);
        $pdf->SetX(25);
        $pdf->Cell(30,6,'Fernisering',1,0,'L',1);
        $pdf->Cell(30,6,'Sidste',1,0,'L',1);
        $pdf->Cell(100,6,'Udstilling',1,0,'L',1);


??
Avatar billede compac Seniormester
19. august 2008 - 18:39 #4
Ja, det er korrekt.
Avatar billede compac Seniormester
19. august 2008 - 18:40 #5
Det er kun de 3 kolonner jeg vil have udskrevet
Avatar billede jakobdo Ekspert
19. august 2008 - 18:44 #6
Kan man se hvordan dit output ser ud nu ?
Avatar billede compac Seniormester
19. august 2008 - 19:46 #7
Det ser ud som en tabel (som jeg ønsker):

1. linie  1.1.2008 1.2.2008    Picasso
2. linie  1.3.2008 1.4.2008    Arne Jacobsen

i sidste linie kommer overskrifterne:
          Fernisering Sidste  Udstilling
Avatar billede jakobdo Ekspert
19. august 2008 - 20:23 #8
Hvad hvis du laver:

<?php

require('fpdf.php');

//Connect to your database
include("conn.php");

//Create new pdf file
$pdf=new FPDF();

//Disable automatic page break
$pdf->SetAutoPageBreak(false);

//Add first page
$pdf->AddPage();

//set initial y axis position per page
$y_axis_initial = 25;

//print column titles for the actual page
$pdf->SetFillColor(232,232,232);
$pdf->SetFont('Arial','B',12);
$pdf->SetY($y_axis_initial);
$pdf->SetX(25);
$pdf->Cell(30,6,'Fernisering',1,0,'L',1);
$pdf->Cell(30,6,'Sidste',1,0,'L',1);
$pdf->Cell(100,6,'Udstilling',1,0,'C',1);

$y_axis = $y_axis + $row_height;

//Select the Products you want to show in your PDF file
#$result=mysql_query('select sn,fernisering,sidste,titel,kortbeskr,langbeskr,filnavn from $branch ORDER BY fernisering',$link);
$result=mysql_query("select * from emp_branch ORDER BY fernisering");
//initialize counter
$i = 0;

//Set maximum rows per page
$max = 25;

//Set Row Height
$row_height = 6;

while($row = mysql_fetch_array($result))
{
    $fernisering = $row['fernisering'];
    $sidste = $row['sidste'];
    $langbeskr = $row['langbeskr'];

    $pdf->SetY($y_axis);
    $pdf->SetX(25);
    $pdf->Cell(30,6,$fernisering,1,0,'L',1);
    $pdf->Cell(30,6,$sidste,1,0,'L',1);
    $pdf->Cell(100,6,$langbeskr,1,0,'L',1);

    //Go to next row
    $y_axis = $y_axis + $row_height;
    $i = $i + 1;
}

//mysql_close($link);

//Create file
$pdf->Output();
?>
Avatar billede compac Seniormester
19. august 2008 - 20:36 #9
Det gør ingen forskel.
Avatar billede jakobdo Ekspert
19. august 2008 - 22:03 #10
Hvad hvis du retter:

$pdf->SetY($y_axis_initial);

til:

$pdf->SetY(0);
Avatar billede jakobdo Ekspert
19. august 2008 - 22:33 #11
Ret denne linje:

$pdf->Cell(100,6,'Udstilling',1,0,'C',1);

$y_axis = $y_axis + $row_height; <----

//Select the Products you want to show in your PDF file

til:

$y_axis = $y_axis_initial;

og flyt så:

//Go to next row
    $y_axis = $y_axis + $row_height;
    $i = $i + 1;

over:

$fernisering = $row['fernisering'];
    $sidste = $row['sidste'];
    $langbeskr = $row['langbeskr'];

Så fik jeg det til at virke lokalt.
Avatar billede compac Seniormester
20. august 2008 - 09:46 #12
Ja, så virker det, tak for hjælpen. Læg et svar.
Avatar billede jakobdo Ekspert
20. august 2008 - 10:25 #13
Svar!
Avatar billede jakobdo Ekspert
22. august 2008 - 13:33 #14
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester