01. januar 2006 - 12:50Der er
28 kommentarer og 1 løsning
FPDF og Mysql
Hej og godt nytår alle-sammen. Jeg er ved at blive klogere på funktioner til generering af PDF-filer. Jeg anvender FPDF (www.fpdf.org), men det er lidt svært for mig. Jeg har nogle data liggende i en Mysql-tabel, som jeg gerne vil have med i PHP-filen, der genererer PDF-filen.
Mon der er en venlig sjæl, der vil vise mig et eksempel på, hvordan en eller flere poster fra en MySql-tabel medtages i PHP-filen. Hvis det er muligt vil jeg blive meget glad for et konkret eksempel på hele PHP-filen.
$pdf=new PDF(); $pdf->AddPage(); $pdf->Cell(0, 10, 'Liste over brugere:'); $pdf->Ln(10); $query = mysql_query("SELECT navn FROM brugertabel ORDER BY id ASC"); while($row = mysql_fetch_assoc($query) { $pdf->Cell(0, 10, $row['navn']); $pdf->Ln(10); } $pdf->Output();
$pdf=new PDF(); $pdf->AddPage(); $pdf->Cell(0, 10, 'Liste over brugere:'); $pdf->Ln(10); $query = mysql_query("SELECT navn FROM kalender_kontrakt ORDER BY id ASC"); while($row = mysql_fetch_assoc($query) { $pdf->Cell(0, 10, $row['tilsyn_navn']); $pdf->Ln(10); } $pdf->Output();
Prøv lige at fjerne din mysql_close() - er lidt i tvivl om, hvorvidt den vil lave ballade efter $pdf->output();
Og har du et link til siden? Og så kan du også lige udkommentere dit udtræk, bare for at se om "Liste over brugere:" overhovedet kommer som det skal...
Jeg har fjernet "mysql_close(), men uden virkning. Linket er: www.vardeborg.dk/test/kontrakt/sql.php Og det kommer ikke som det skal - jeg tjekker lige og vender snart tilbage.
Jeg har lige prøvet med denne kode, men får stadig en blank side. Der er kun 1 post i tabellen lige nu. Kan du se, hvad der er forkert?
<?php mysql_connect("localhost","vardeborg","xxxx"); mysql_select_db("vardeborgdk"); $query = mysql_query("SELECT tilsyn_navn FROM kalender_kontrakt ORDER BY id ASC"); while($row = mysql_fetch_assoc($query)
Så er der en fejl et sted, som jeg ikke lige umiddelbart kan se, men prøv at smide: ini_set('error_reporting', E_ALL); i toppen. Og så skal du nok lige skifte dit password når vi nu engang er færdige :)
Hvis du vil have ulejlighed med det, har jeg smidt et skærmprint af Mysqladmin, hvor databasenavn m.m. fremgår. Det kan være, at du kan se, om jeg gør noget forkert. Skærmbilledet ligger her: www.vardeborg.dk/test/kontrakt/mysql.jpg
Ah, du har ikke noget id-felt. Derfor bare: $query = mysql_query("SELECT tilsyn_navn FROM kalender_kontrakt");
Du kan med ret stor fordel smide or die(mysql_error()); på dine udtræk, hvis de ikke virker, så bør du få en ret god debug-meddelelse, som: $query = mysql_query("SELECT tilsyn_navn FROM kalender_kontrakt ORDER BY id ASC") or die(mysql_error());
Ja, skal den nemlig. Så bør du tvinge PHP til at skrive fejlmeddelelser, som tilsyneladene er slået fra på din server. Og det er nærmest ikke til at arbejde uden, så kommer man sku ingen vejne :)
Det forstår jeg ikke, da jeg har testet med andre php-filer, hvor jeg netop skriver $pdf=new PDF(). De virker da udmærket. Men jeg har rettet som du skriver og sat en font - så nu virker det.
Lige en sidste ting: I dit eksempel hentes en bestemt celle, som så listes. Hvis der ikke skal listen, fordi der kun er 1 post i tabellen, kan "kaldet" til tabel-cellen være noget mere simpelt. Vil du give et eksempel på dette?
Nu kan jeg godt se, at der skal skrives $pdf=new FPDF(). Hvis du har nemt ved at vise "kaldet" til 1 celle (tilsyn_navn) i MYSQL, så vil jeg da gerne det. Under alle omstændigheder vil jeg gerne om du vil sende et svar, så jeg kan give de velfortjente point. Der kommer nok flere spørgsmål, men så stiller jeg dem som nye spørgsmål.' Mange tak for hjælpen.
Hej Jaw. Du ligger vel ikke inde med Verdana-fonten til FPDF-systemet. Jeg har problemer med at generere fonten. Jeg giver gerne point. Hvis du har den kan jeg vel oprette i spørgsmål i PHP-området, og der angive min email-adresse.
Jo - men kan det passe, er Verdana Bold ikke er med i disse 2 filer. Jeg skriver lige et nyt spørgsmål, så jeg kan give point: Hvis ud så vil svare dette spørgsmål. Mange tak.
hej igen. Vil du lige hjælpe mig med dette spørgsmål også. Jeg har skrevet det som et særskilt spørgsmål, så du kan få nogle point: Du gav mig en kode linje ovenfor: $pdf->Cell(0,10, mysql_result(mysql_query("SELECT feltnavn FROM tabel"), 0)); Det fungerer fint. Hvis jeg nu i samme linje, skal vise indholdet af 2 celler fra MySql - eksempelvis 2 telefonnumre adskilt med teksten "og" (feltnavn1 og feltnavn2), kan du hjælpe med kodelinjen her:
Nå, svarede på spørgsmålet før jeg så du havde skrevet her...
Synes godt om
Ny brugerNybegynder
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.