IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Données SQL a Convertir en PDF


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 26
    Par défaut Données SQL a Convertir en PDF
    Bonjour,
    J'ai comme devoir de convertir un menu de cantine sous PDF
    La saisie des menus part directement dans une bdd
    Donc mon devoir est de les récupérer de la BDD pour les mettre en PDF

    Ce que j'ai réussi, les donnés s'affiche bien sur le PDF

    Or, petit soucis au niveau de l'affichage

    Voila ce que ça affiche : Nom : PDF Probleme d'affichage.PNG
Affichages : 515
Taille : 109,1 Ko

    Voila comment j'aimerais que ça s'affiche plus ou moins Nom : Bon affichage.PNG
Affichages : 523
Taille : 63,7 Ko

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    <?php
    $semaineactuelle = date('W');
     
    $bddname = 'XXX';
    $hostname = 'XXX';
    $username = 'XXX';
    $password = 'XXX';
    $db = mysqli_connect ($hostname, $username, $password, $bddname);
     
    				mysqli_select_db ( $db,'cantine') ;
     
    require('fpdf.php');
     
    class PDF extends FPDF {
      function Header()
    {
        // Logo
        $this->Image('Logo C&D Foods.png',10,6,25);
    	// Logo
        $this->Image('Menuavecbordure.png',110,6,60);
    	// Logo
        $this->Image('Elior Logo.png',230,12,60);
    }
    }
    // Activation de la classe
    $pdf = new PDF ('L','mm','A4');
    $pdf->AddPage();
    $pdf->SetFont('Helvetica','',11);
    $pdf->SetTextColor(0);
     
    $req1 = "SELECT * FROM menus WHERE Semaine = $semaineactuelle ";
    $rep1 = mysqli_query($db, $req1);
    $row1 = mysqli_fetch_array($rep1);
     
    $position_entete = 58;
     
    function entete_table($position_entete){
        global $pdf;
        $pdf->SetDrawColor(183); // Couleur du fond
        $pdf->SetFillColor(221); // Couleur des filets
        $pdf->SetTextColor(0); // Couleur du texte
        $pdf->SetY($position_entete);
        $pdf->SetX(3);
        $pdf->Cell(30,12,'Date',1,0,'C',1);
        $pdf->SetX(33); 
        $pdf->Cell(30,12,'Entree1',1,0,'C',1);
        $pdf->SetX(63); 
        $pdf->Cell(30,12,'Entree2',1,0,'C',1);
        $pdf->SetX(93);
    	$pdf->Cell(30,12,'Plat1',1,0,'C',1);
        $pdf->SetX(123);
    	$pdf->Cell(30,12,'Plat2',1,0,'C',1);
        $pdf->SetX(153);
    	$pdf->Cell(40,12,'Accompagnement1',1,0,'C',1);
        $pdf->SetX(193);
    	$pdf->Cell(40,12,'Accompagnement2',1,0,'C',1);
        $pdf->SetX(233);
    	$pdf->Cell(30,12,'Dessert1',1,0,'C',1);
        $pdf->SetX(263);
    	$pdf->Cell(30,12,'Dessert2',1,0,'C',1);
        $pdf->SetX(293);
    }
    entete_table($position_entete);
     
    $position_detail = 70; // Position à 8mm de l'entête
     
    	$reponse =  mysqli_query($db,"SELECT * FROM menus WHERE Semaine = $semaineactuelle");
    				 while($donnees = mysqli_fetch_array($reponse)) 
    {
        $pdf->SetY($position_detail);
        $pdf->SetX(3);
        $pdf->MultiCell(30,12,utf8_decode($donnees['Date']),1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(33);
        $pdf->MultiCell(30,12,$donnees['Entree1'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(63);
        $pdf->MultiCell(30,12,$donnees['Entree2'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(93);
    	$pdf->MultiCell(30,12,$donnees['Plat1'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(123);
    	$pdf->MultiCell(30,12,$donnees['Plat2'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(153);
    	$pdf->MultiCell(40,12,$donnees['Accompagnement1'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(193);
    	$pdf->MultiCell(40,12,$donnees['Accompagnement2'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(233);
    	$pdf->MultiCell(30,12,$donnees['Dessert1'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(263);
    	$pdf->MultiCell(30,12,$donnees['Dessert2'],1,'C');
        $pdf->SetY($position_detail);
        $pdf->SetX(293);
    }
     
    // Nom du fichier
    $nom = 'menucantine.pdf';
     
    // Création du PDF
    $pdf->Output();
     
    ?>
    Merci d'avance ^^'

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        $pdf->SetY($position_detail);
    à aucun moment tu incrémentes $position_detail dans la boucle pour passer à la ligne suivante.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 26
    Par défaut
    ca peux paraitre débile mais comment je peux incrémenter ça ? ^^'

  4. #4
    Invité
    Invité(e)
    Par défaut
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $position_detail = 70; // Position à 8mm de l'entête
     
    $reponse =  mysqli_query($db,"SELECT * FROM menus WHERE Semaine = $semaineactuelle");
    while($donnees = mysqli_fetch_array($reponse)) 
    {
    ...
    ...
    ...
        $position_detail += 12; // incrémente de la hauteur de cellule (A ADAPTER)
    }

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2019
    Messages : 26
    Par défaut
    Arf j'avais juste oublier le égal ^^

    Merci beaucoup a toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir une base de données SQL Serveur en MySql
    Par sheira dans le forum Débuter
    Réponses: 8
    Dernier message: 03/07/2015, 16h16
  2. [Fonction SQL Server] Convertir des secondes en heure
    Par falcon dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 17/11/2004, 17h22
  3. Migration de données SQL Server to Access2000
    Par guams dans le forum Migration
    Réponses: 8
    Dernier message: 02/07/2004, 14h23
  4. Réponses: 3
    Dernier message: 29/03/2004, 18h02
  5. Convertir un *.pdf en un format plus leger
    Par Nasky dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 23/06/2003, 08h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo