Functie in TCPDF

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marijke Hakvoort

Marijke Hakvoort

18/11/2011 15:26:37
Quote Anchor link
Hallo,

Momenteel ben ik bezig met het maken van een PDF met TCPDF.
$id en $admin komen van de kostenpagina, en roep ik op om te gebruiken in de PDF.
Nu echter loop ik tegen een probleem:

Dit is een stukje van de code die uit 'example' van TCPDF komt, hiermee bouw ik zelf verder namelijk, dit is een stuk waar de input gevoegd moet worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

// Set some content to print
$html = <<<EOD

$kosten->getPrice($id);

EOD
;

// Print text using writeHTMLCell()
$pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true);
?>


Nu zien jullie ook meteen de functie die ik wil aanroepen uit mijn class, namelijk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$kosten
->getPrice($id);
?>


Alleen de output is nu dus (3); en de hele functie wordt niet uitgevoerd.
Heeft iemand een beetje ervaring met TCPDF en weet diegene hoe dit anders moet of andere suggesties voor me?

Alvast bedankt!

Gr Marijke

Toevoeging op 18/11/2011 15:40:59:

Ok, nu heb ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
// Set some content to print
$html =
$kosten = new ovasklant;
$kosten->getPrice($adminid);
?>


En hij rekent wel degelijk wat uit, MAAR in mijn functie staan dus echo's, welke hij nu ziet als headers en krijg ik dus dit te zien als output:

Relatiemanagement 15,00

Totaal:
15,00

Warning: Cannot modify header information - headers already sent by (output started at /home/facturatie/domains/facturatie.ovas.nl/public_html/class/class.ovas.php:87) in /home/facturatie/domains/facturatie.ovas.nl/public_html/tcpdf/tcpdf.php on line 8541
TCPDF ERROR: Some data has already been output to browser, can't send PDF file
 
PHP hulp

PHP hulp

24/11/2024 05:53:59
 

18/11/2011 15:54:17
Quote Anchor link
Heb je al geprobeerd om de echo's uit de functie te veranderen, zodat de functie gewoon html terugstuurd?
 
Marijke Hakvoort

Marijke Hakvoort

18/11/2011 15:58:58
Quote Anchor link
Hoe doe ik dit?
En het liefst verander ik er niet veel aan, omdat ik de functie ook op PHP pagina's aanroep.
 

18/11/2011 16:07:27
Quote Anchor link
Kan je de functie hier plaatsen?
 
Marijke Hakvoort

Marijke Hakvoort

18/11/2011 16:09:20
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
 public function getPrice($adminid) {
    $sql = "
        SELECT
            list_modules.nl AS name,
            lnk_administrations_modules.id_administration AS id_admin,
            list_modules.basic AS price                                            
        FROM    
            lnk_administrations_modules
        INNER JOIN
            list_modules ON lnk_administrations_modules.id_module = list_modules.id
        WHERE
            id_administration = %d"
;

        $result = mysql_query(sprintf($sql, $adminid)) or die(mysql_error());
                    
        echo "<table>";
        $totals = array();
        while( $overzicht = mysql_fetch_array( $result ) ){
        $totals[] = $overzicht['price'];

            echo "<tr><td class=dark>" . $overzicht['name'] . "</td>
             <td class=dark>"
. number_format($overzicht['price'],2,",",".") . "</td></tr>";
        }


        echo "<tr><td class=dark><b><br>Totaal:</b></td>
        <td class=dark><br>"
. number_format(array_sum($totals),2, ",", ".") . "</td></tr>  ";
        echo " </table>";
        
        
        }

?>
 

18/11/2011 16:18:23
Quote Anchor link
Zo krijg je alleen de html terug, je kan data voor tcpdf namelijk niet echoën.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
public function getPrice($adminid) {
    $html = '';
    $sql = "
        SELECT
            list_modules.nl AS name,
            lnk_administrations_modules.id_administration AS id_admin,
            list_modules.basic AS price                                            
        FROM    
            lnk_administrations_modules
        INNER JOIN
            list_modules ON lnk_administrations_modules.id_module = list_modules.id
        WHERE
            id_administration = %d"
;

        $result = mysql_query(sprintf($sql, $adminid)) or die(mysql_error());
                    
        $html .= "<table>";
        $totals = array();
        while( $overzicht = mysql_fetch_array( $result ) ){
        $totals[] = $overzicht['price'];

            $html .= "<tr><td class=dark>" . $overzicht['name'] . "</td>
             <td class=dark>"
. number_format($overzicht['price'],2,",",".") . "</td></tr>";
        }


        $html .= "<tr><td class=dark><b><br>Totaal:</b></td>
        <td class=dark><br>"
. number_format(array_sum($totals),2, ",", ".") . "</td></tr>  ";
        $html .= " </table>";
        
        return $html;
        
        
        }

?>
 
Marijke Hakvoort

Marijke Hakvoort

18/11/2011 16:28:39
Quote Anchor link
hm, vervolgens krijg ik deze meldingen:


Warning: preg_match_all() expects parameter 2 to be string, object given in /****/tcpdf/tcpdf.php on line 20609

Warning: preg_match_all() expects parameter 2 to be string, object given in /*****/tcpdf/tcpdf.php on line 20617

Warning: preg_match_all() expects parameter 2 to be string, object given in /****/tcpdf/tcpdf.php on line 20638

Catchable fatal error: Object of class ovasklant could not be converted to string in /****/tcpdf/tcpdf.php on line 20653
Gewijzigd op 18/11/2011 16:29:17 door Marijke Hakvoort
 

18/11/2011 16:43:12
Quote Anchor link
Dat klinkt alsof je probeerd een object te echoën, krijg je deze error ook als je de output van de functie op een gewone php pagina uitvoert?
 
Marijke Hakvoort

Marijke Hakvoort

18/11/2011 16:43:52
Quote Anchor link
Nee, dan krijg ik netjes de output te zien.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/11/2011 17:05:19
Quote Anchor link
Probeer anders eens in plaats van een html tabel gewoon rechtstreeks met de Cell functie van tcpdf
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.