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 :

fpdf // résultat requêtes SQL // Sessions


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 14
    Points
    14
    Par défaut fpdf // résultat requêtes SQL // Sessions
    Bonjour,

    Je cherche à créer un pdf en intégrant des données de ma base de données via une requête SQL qui utilise les sessions dans la clause 'WHERE'

    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
    <?php
    require('fpdf.php');
    session_start() ;
     
    $nom = $_SESSION['nom'];
    $prenom = $_SESSION['prenom'];
     
     
    class PDF extends FPDF
    {
    // En-tête
    function Header()
    {
        // Logo
        #$this->Image('logo.png',10,6,30);
        // Police Arial gras 15
        $this->SetFont('Arial','B',15);
        // Décalage à droite
        $this->Cell(80);
        // Titre
        $this->Cell(30,10,'Mon profil',1,0,'C');
        // Saut de ligne
        $this->Ln(20);
    }
     
    // Pied de page
    function Footer()
    {
        // Positionnement à 1,5 cm du bas
        $this->SetY(-15);
        // Police Arial italique 8
        $this->SetFont('Arial','I',8);
     
    }
    }
     
    $serveurBD = "****"; 
        $nomUtilisateur = "****"; 
        $motDePasse = ""; 
        $baseDeDonnees = "****"; 
     
        $idConnexion = mysql_connect($serveurBD,
                                     $nomUtilisateur,
                                     $motDePasse);
     
        #if ($idConnexion !== FALSE) echo "Connexion au serveur reussie<br/>";
        #else echo "Echec de connexion au serveur<br/>";
     
        $connexionBase = mysql_select_db($baseDeDonnees);
     
    $resultat=mysql_query ("SELECT *
    FROM utilisateur AS u, role AS r, roles_utilisateur AS ru, statut AS s, statut_ancien_etudiant AS sa
    WHERE u.id = ru.id_utilisateur
    AND u.id = sa.id_utilisateur
    AND r.id = ru.id_role
    AND s.id = sa.id_statut
    AND u.nom='$nom' AND u.prenom='$prenom'");
     
     
     
     
    // Instanciation de la classe dérivée
     
    $pdf = new PDF();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
     
    while($row=mysql_fetch_array($resultat))
    {
     
    $pdf->cell(0,10,$row["nom"],0,1);
    $pdf->cell(0,10,$row["prenom"],0,1);
    $pdf->cell(0,10,$row["annee_promo"],0,1);
    $pdf->cell(0,10,$row["nom_role"],0,1);
    }
     
     
    $pdf->Output();
    ?>
    Le message d'erreur est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FPDF error: Some data has already been output, can't send PDF file
    En regardant sur internet, j'ai compris que ce message signifiait qu'il existait un "echo", "print".. ou autre quelque part.
    Mais je ne comprend pas pourquoi ça ne fonctionne pas avec les sessions. Une explication? un moyen de contourner le problème en sachant que je ne veux récupérer les données que de l'utilisateur connecté

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    Salut,

    c pas par hasard le saut de ligne de la ligne 1 de ton code qui cause le pb ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par selmouadin Voir le message
    Salut,

    c pas par hasard le saut de ligne de la ligne 1 de ton code qui cause le pb ?
    J'avais mal recopié pour ma discussion, j'ai enlevé le saut de ligne.

    Mais non le problème vient bien des sessions :/

    quelqu'un a-t-il déjà eu ce problème et comment a-t-il fait?

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    je pense pas que c est un pb de session

    1- verifie bien si y a pas des espaces blanc ds ton fichier fpdf.php, si c un dcoument utf8 converti le en utf8 ( sans BOM )
    2- ta requete est bonne, ne genere pas d'erreur mysql ?

  5. #5
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    genre vire les balises ?> de fin de fichier. c'est radical contre les éditeurs de textes qui forcent les retours à la ligne en fin de fichier.

    par contre j'ai déjà utilisé les sessions simultanément avec cette classe ... c'est compatible!

    tiens tu peux aussi vérifier que tu as pas un warning php qui s'affiche à l’exécution....
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par gene69 Voir le message
    genre vire les balises ?> de fin de fichier. c'est radical contre les éditeurs de textes qui forcent les retours à la ligne en fin de fichier.

    par contre j'ai déjà utilisé les sessions simultanément avec cette classe ... c'est compatible!

    tiens tu peux aussi vérifier que tu as pas un warning php qui s'affiche à l’exécution....
    J'ai essayé :/ sans succès

Discussions similaires

  1. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  2. Réponses: 2
    Dernier message: 14/03/2008, 17h02
  3. Réponses: 2
    Dernier message: 07/02/2008, 11h45
  4. Réponses: 13
    Dernier message: 28/09/2007, 11h55
  5. résultat requêtes sql
    Par mmb04 dans le forum JDBC
    Réponses: 11
    Dernier message: 22/03/2007, 16h06

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