TCPDF while
Hoi allemaal,
Ben al een aantal dagen aan het experimenten met 'TCPDF' om boekingen vanuit het systeem over te zetten in een pdf-bestand, op basis van hoeveel boekingen er in het systeem staan moet dit via een while in het pdf-bestand komen.. Zo was het idee.
Echter heb ik het vermoeden dat de while-functie in tcpdf niet werkt (krijg een blanke output bij het laden van de pagina)? Is dat correct, of weet iemand wat ik verkeerd doe?
Hier m'n code:
Groet,
marcel
Ben al een aantal dagen aan het experimenten met 'TCPDF' om boekingen vanuit het systeem over te zetten in een pdf-bestand, op basis van hoeveel boekingen er in het systeem staan moet dit via een while in het pdf-bestand komen.. Zo was het idee.
Echter heb ik het vermoeden dat de while-functie in tcpdf niet werkt (krijg een blanke output bij het laden van de pagina)? Is dat correct, of weet iemand wat ik verkeerd doe?
Hier m'n code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
include "config.php";
//============================================================+
// File name : example_045.php
// Begin : 2008-03-04
// Last Update : 2013-05-14
//
// Description : Example 045 for TCPDF class
// Bookmarks and Table of Content
//
// Author: Nicola Asuni
//
// (c) Copyright:
// Nicola Asuni
// Tecnick.com LTD
// www.tecnick.com
// [email protected]
//============================================================+
/**
* Creates an example PDF TEST document using TCPDF
* @package com.tecnick.tcpdf
* @abstract TCPDF - Example: Bookmarks and Table of Content
* @author Nicola Asuni
* @since 2008-03-04
*/
// Include the main TCPDF library (search for installation path).
require_once('examples/tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Marcel');
$pdf->setPrintHeader(false);
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 045', PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// ---------------------------------------------------------
$pdf->SetFont('dejavusans', 'B', 20);
$booking_sql = mysql_query("SELECT * FROM bookings WHERE team='".$_GET['id']."' AND user='".$_COOKIE['id']."' AND cancel='0' ORDER BY date ASC");
while($booking = mysql_fetch_assoc($booking_sql)){
$html = 'hi';
$pdf->AddPage();
$pdf->writeHTML($html, true, false, true, false, '');
}
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example_045.pdf', 'I');
?>
include "config.php";
//============================================================+
// File name : example_045.php
// Begin : 2008-03-04
// Last Update : 2013-05-14
//
// Description : Example 045 for TCPDF class
// Bookmarks and Table of Content
//
// Author: Nicola Asuni
//
// (c) Copyright:
// Nicola Asuni
// Tecnick.com LTD
// www.tecnick.com
// [email protected]
//============================================================+
/**
* Creates an example PDF TEST document using TCPDF
* @package com.tecnick.tcpdf
* @abstract TCPDF - Example: Bookmarks and Table of Content
* @author Nicola Asuni
* @since 2008-03-04
*/
// Include the main TCPDF library (search for installation path).
require_once('examples/tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Marcel');
$pdf->setPrintHeader(false);
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 045', PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// ---------------------------------------------------------
$pdf->SetFont('dejavusans', 'B', 20);
$booking_sql = mysql_query("SELECT * FROM bookings WHERE team='".$_GET['id']."' AND user='".$_COOKIE['id']."' AND cancel='0' ORDER BY date ASC");
while($booking = mysql_fetch_assoc($booking_sql)){
$html = 'hi';
$pdf->AddPage();
$pdf->writeHTML($html, true, false, true, false, '');
}
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example_045.pdf', 'I');
?>
Groet,
marcel
Gewijzigd op 12/08/2018 12:44:36 door PHP er
Foutmeldingen al aangezet?
- Ariën - op 12/08/2018 13:20:24:
Foutmeldingen al aangezet?
Yep! Dat geeft helaas geen resultaten. :-(
Ik zie de fout niet direct, maar ik zie wel dat je verouderde MySQL-functies gebruikt. Wordt het niet tijd om eens over te stappen op MySQLi?
Ook is je inlogsysteem lek. Iemand kan cookies namaken en je query manipuleren. Ook via POST in je formulier. Escape je invoer in je query tegen SQL-Injectie.
Ook is je inlogsysteem lek. Iemand kan cookies namaken en je query manipuleren. Ook via POST in je formulier. Escape je invoer in je query tegen SQL-Injectie.
Gewijzigd op 12/08/2018 13:44:57 door - Ariën -
Heb je ook gekeken of de query zelf wel resultaten oplevert, anders gebeurt er inderdaad niet zoveel.
Hoeveel pagina's heeft het uiteindelijke PDF-bestand? Of gebeurt er helemaal niets? Enkel een witte pagina en geen PDF-document? Als je enkel een witte pagina krijgt duidt dit op fouten, check je errorlog(s).
Hoeveel pagina's heeft het uiteindelijke PDF-bestand? Of gebeurt er helemaal niets? Enkel een witte pagina en geen PDF-document? Als je enkel een witte pagina krijgt duidt dit op fouten, check je errorlog(s).
Dit moet uit de while loop. In de while vul je alleen $html, bijvoorbeeld door niet " $html = " te doen maar " $html .= ".
Dan wordt het steeds aan $html toegevoegd ipv overschreven. Let dus op de .= ipv =




