Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Bonjour à tous
- Voici un lien où on clique pour envoyer les données que le fichier tableau prendra en compte pour afficher le fichier PDF contenant la liste des élèves
- <code basic>
- <?php
- $serie = $_GET['serie']; $class = $_GET['class']; $cycle = $_GET['cycle']; echo "<a href=\"tableau.php? serie=$serie & class=$class &cycle=$cycle\"";?><?php echo ' class="place"><p>Télécharger la liste des élèves</a>'; ?>
- </code>
- Voici le contenu du fichier Tableau.php que j'ai conçu dans le but d'afficher la liste des élève contenu dans une base de donnée sur un PDF
- <code basic>
- <?php
- session_start();
- require("connexion.php");
- error_reporting ( E_ALL );
- ini_set ( 'display_errors', TRUE );
- ini_set ( 'display_startup_errors', TRUE );
- $class = !empty ( $_GET['class'] ) ? $_GET['class'] : NULL;
- $cycle = !empty ( $_GET['cycle'] ) ? $_GET['cycle'] : NULL;
- $iduser = !empty ( $_SESSION['id'] ) ? $_SESSION['id'] : NULL;
- $serie = !empty ( $_GET['serie'] ) ? $_GET['serie'] : NULL;
- $gen ='LYCÉE GÉNÉRAL';
- $tech ='LYCÉE TECHNIQUE';
- $prim ='PRIMAIRE';
- $college ='Collège';
- $coll = trim($college);
- $trimed = trim($gen);
- $trime = trim($tech);
- $primaire = trim($prim);
- $trim = trim($cycle);
- try
- {
- $req1 = $bdd->prepare('SELECT * FROM enseignant WHERE class = ? AND serie = ? AND id = ?');
- $req1->execute(array($class,$serie, $iduser));
- //Somme des élèves de la classe
- }
- catch(Exception $e)
- {
- die('Erreur : '.$e->getMessage());
- }
- $don = $req1->fetch();
- require('fpdf.php');
- try
- {
- $req = $bdd->prepare('SELECT * FROM compte WHERE id = ?');
- $req->execute(array($iduser));
- }
- catch(Exception $e)
- {
- die('Erreur : '.$e->getMessage());
- }
- $donnees = $req->fetch();
- class PDF extends FPDF {
- function Header() {
- $this->SetFont('Helvetica','B',11);
- $this->SetX(70);
- $this->Cell(60,8,''.$donnees['nom'].'',0,1,'C',1); // Voilà là où l'erreur est signalé
- // Saut de ligne utf8_decode(mm
- $this->Ln(10);
- }
- function Footer() {
- // Positionnement à 1,5 cm du bas
- $this->SetY(-15);
- // Police Arial italique 8
- $this->SetFont('Helvetica','I',9);
- // Numéro de page, centré (C)
- $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
- }
- }
- $pdf = new PDF('P','mm','A4');
- $pdf->AddPage();
- // Polices par défaut : Helvetica taille 9
- $pdf->SetFont('Helvetica','',9);
- // Couleur par défaut : noir
- $pdf->SetTextColor(0);
- // Compteur de pages {nb}
- $pdf->AliasNbPages();
- $pdf->SetFont('Helvetica','B',11);
- // couleur de fond de la cellule : gris clair
- $pdf->setFillColor(230,230,230);
- $pdf->Cell(75,6,' Classe :'.$class.' '.$serie.'',0,1,'L',1);
- if($trim == $primaire) {
- $pdf->Cell(75,6,'<strong>Enseignant :</strong>'.$don['nom'].' '.$don['prenom'].'',0,1,'L',1);
- }
- $pdf->Ln(10); // saut de ligne 10mm
- function entete_table($position_entete) {
- global $pdf;
- $pdf->SetDrawColor(183);
- $pdf->SetFillColor(221);
- $pdf->SetTextColor(0); // Couleur du texte noir
- $pdf->SetY($position_entete);
- // position de colonne 1 (10mm à gauche)
- $pdf->SetX(10);
- $pdf->Cell(60,8,'#',1,0,'C',1); // 60 >largeur colonne, 8 >hauteur colonne
- // position de la colonne 2 (70 = 10+60)
- $pdf->SetX(70);
- $pdf->Cell(60,8,'Nom',1,0,'C',1);
- $pdf->SetX(130);
- $pdf->Cell(30,8,'Prenom',1,0,'C',1);
- $pdf->Ln(); // Retour à la ligne
- }
- $position_entete = 70;
- $pdf->SetFont('Helvetica','',9);
- $pdf->SetTextColor(0);
- // on affiche les en-têtes du tableau
- entete_table($position_entete);
- try
- {
- $req = $bdd->prepare('SELECT * FROM eleve WHERE class = ? AND serie = ? AND iduser = ? ORDER BY nom');
- $req->execute(array($class, $serie, $iduser));
- }
- catch(Exception $e)
- {
- die('Erreur : '.$e->getMessage());
- }
- $j=1;
- while($donn = $req->fetch()){
- $pdf->SetY($position_detail);
- $pdf->SetX(10);
- $pdf->MultiCell(60,8,utf8_decode(' '.$j.''),1,'C');
- // position abcisse de la colonne 2 (70 = 10 + 60)
- $pdf->SetY($position_detail);
- $pdf->SetX(70);
- $pdf->MultiCell(60,8,utf8_decode(' '.$don['nom'].''),1,'C');
- // position abcisse de la colonne 3 (130 = 70+ 60)
- $pdf->SetY($position_detail);
- $pdf->SetX(130);
- $pdf->MultiCell(30,8,' '.$don['prenom'].'',1,'C');
- $j++;
- }
- $pdf->Output();
- ?>
- </code>
- Quand je clique sur le lien, il m'affiche ces erreurs:
- "" Notice: Undefined variable: donnees in /Applications/MAMP/htdocs/kela/tableau.php on line 67 ""
- Je comprend pas pourquoi il me signale cette erreur pourtant tout à l'air bon
- Fatal error: Uncaught Exception: FPDF error: Some data has already been output, can't send PDF file in /Applications/MAMP/htdocs/kela/fpdf.php:271 Stack trace: #0 /Applications/MAMP/htdocs/kela/fpdf.php(1063): FPDF->Error('Some data has a...') #1 /Applications/MAMP/htdocs/kela/fpdf.php(999): FPDF->_checkoutput() #2 /Applications/MAMP/htdocs/kela/tableau.php(164): FPDF->Output() #3 {main} thrown in /Applications/MAMP/htdocs/kela/fpdf.php on line 271
- et je comprend pas pourquoi il me signale une erreur au niveau fpdf.php
- Quelqu'un peut-il m'aider ?
Advertisement
Add Comment
Please, Sign In to add comment