Générer un fichier PDF avec HTML2PDF

jeremiefadim 2 Messages postés mercredi 9 mai 2018Date d'inscription 11 mai 2018 Dernière intervention - 9 mai 2018 à 19:24 - Dernière réponse : jeremiefadim 2 Messages postés mercredi 9 mai 2018Date d'inscription 11 mai 2018 Dernière intervention
- 11 mai 2018 à 10:18
Bonjour,
Je suis sur un projet de conception d'une appli qui permet d'enregistrer les adhésions faites par les promoteur dans une base de données. Ensuite, on doit pouvoir chaque mois afficher les adhésions par promoteur et sur une période précise que l'on devra imprimer ou générer en PDF. Pour cela j'utilise la Classe HTML2PDF mais avec les requêtes préparé la page pdf affiche que les informations de l'entete de page et de tableau mais n'affiche pas les info de la base. Aucune erreur ne s'affiche non plus.
J'ai besoin de votre aide.
voici mon code
<?php
$nom = $_GET['NomPro'];
$prenom = $_GET['PrenomPro'];
$dated = $_GET['dated'];
$datef = $_GET['datef'];
/*connexion à la base de données */
require_once('connexion.php');

//Requête pour afficher les adhesions faites par un promoteur sur une période donnée
$ps = $bdd->query("SELECT Mb.Nom, Mb.Prenoms, Mb.Tel, Mb.Adresse, Mb.Date_Adhesion,
                              Mb.Profession, Mb.NumCompte, Mb.sexe
                            FROM membre AS Mb, promoteur AS Pt
                          WHERE Mb.idMembre = Pt.CodeMembre AND Pt.NomPromoteur = '$nom'AND Mb.Prenoms = '$prenom'AND Mb.Date_Adhesion BETWEEN '$dated' AND '$datef' ORDER BY Nom");


/* Debut de la temporisation de sortie*/
ob_start();
?>
    <page backleft="3%" backtop="12%" backright="3%" footer="date; heure">
        <page_header backleft="10%" backtop="1%">
            <img src="images/entete.PNG" border="none" />
        </page_header>
        <table style="margin-top: 25px">
            <tr>
                <td style="width: 75%;">
                    <strong>Nom: <?php echo $nom ?></strong><br/>
                    <strong>Prenoms: <?php echo $prenom ?></strong>
                </td>
                <td style="width: 25%;">
                    <em style="color: #a51926;">Periode du <?php echo $dated ?></em><br/>
                    <em style="color: #a51926;">Au <?php echo $dated ?></em>
                </td>
            </tr>

        </table>
        <h3 style="text-align: center">Adhesion effectuer au mois de ............</h3>
        <table >
            <tr style="border-radius: 1px solide black">
                <th style="width: auto; height: 3%; border: 1px solide grey">Num</th>
                <th style="width: 25%; height: 3%; border: 1px solide grey">Nom & Prenoms</th>
                <th style="width: 10%; height: 3%; border: 1px solide grey">Telephone</th>
                <th style="width: 15%; height: 3%; border: 1px solide grey">Adresse</th>
                <th style="width: 16%; height: 3%; border: 1px solide grey">Date d'adhesion</th>
                <th style="width: 15%; height: 3%; border: 1px solide grey">Profession</th>
                <th style="width: 10%; height: 3%; border: 1px solide grey">Compte</th>
                <th style="width: 4%; height: 3%; border: 1px solide grey">Sexe</th>
            </tr>

            <?php

            /*Affichage du resultat */

            $i = 1;
            while ($donnees = $ps->fetch()) {;?>
                <tr>
                    <td style="border: 1px solide grey; height: 2%"><?php echo $i ?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Nom'])." ".($donnees['Prenoms'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Tel'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Adresse'])?></td>
                    <td style="border: 1px solide grey; height: 2%; text-align: right"><?php echo ($donnees['Date_Adhesion'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['Profession'])?></td>
                    <td style="border: 1px solide grey; height: 2%"><?php echo ($donnees['NumCompte'])?></td>
                    <td style="border: 1px solide grey; height: 2%; text-align: center"><?php echo ($donnees['sexe'])?></td>
                </tr>

                <?php $i++ ;}?>

        </table>
        <table style="margin-top: 50px">
            <tr style="text-align: right">
                <td><strong>Chef d'Agence</strong></td>
            </tr>
        </table>
        <page_footer>
            <table>
                <tr>
                    <td style="text-align: center">Page [[page_cu]]/[[page_nb]]</td>
                    <td style="text-align: right"><em><small>xxxxxxx </small></em><sup>©</sup></td>
                </tr>
            </table>
        </page_footer>
    </page>

<?php
$content = ob_get_clean();
ob_end_clean();
//die ($content);
require_once ('html2pdf/html2pdf.class.php');
try{
    $pdf = new HTML2PDF('P', 'A4', 'fr', 'true', 'UTF-8');
    $pdf->pdf->SetDisplayMode('fullpage');
    $pdf->writeHTML($content);
    $pdf->pdf->IncludeJS('print(true)');
    $pdf->Output('print.pdf');
}catch (HTML2PDF_exception $e){
    die($e);
}
?>
Afficher la suite 

2 réponses

Répondre au sujet
jordane45 20946 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 13 mai 2018 Dernière intervention - Modifié par jordane45 le 9/05/2018 à 20:41
0
Utile
1
Bonjour
Commence par appliquer ça
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code


Cordialement, 
Jordane                                                                 
jeremiefadim 2 Messages postés mercredi 9 mai 2018Date d'inscription 11 mai 2018 Dernière intervention - 11 mai 2018 à 10:18
Ok Merci Jordane je vais voir ça et je reviend
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.