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

Bibliothèques et frameworks PHP Discussion :

[FPDF] Insérer image sous condition


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut [FPDF] Insérer image sous condition
    Bonjour à tous,

    Je souhaite insérer une image selon la valeur d'une variable POST.
    Je pensais que ce serait simple mais non comme d'hab.

    L'image s'affiche mais ce n'est pas la bonne.

    J'ai essayé de décortiquer un peu et je crois que simplement ma variable POST pose problème alors qu'elle est bien initialisée pour moi

    Alors qu'est-ce qui ne va pas dans mon code ?

    Voici la partie qui concerne le problème:

    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
    <?php
    session_start();
    if(!empty($_POST))
       {
                 $_SESSION['rando'] = $_POST;
     
     
       }
    $rand = trim($_SESSION['rando']['rando']);
     
    // on se connecte Ã* MySQL
    $db = mysql_connect('localhost', 'blabla', 'blabla');
     
     
    // on sélectionne la base
    mysql_select_db('test1',$db);
     
    $sql = "SELECT id, nom, date_debut, heure_debut, heure_fin, description, lieu, adresse, email, telephone  FROM agenda where id LIKE '$rand' AND id > '26' ";
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    $data = mysql_fetch_assoc($req);
     
     
     
        require('fpdf.php');
     
        class PDF extends FPDF
        {
        //En-tête
        function Header()
        {
            //Logo
            $this->Image('../images/folder/gghf.jpg',8,8,45);
    		 $this->Image('../images/folder/wcup.jpg',130,8,30);
    		  $this->Image('../images/folder/spa.png',8,50,43);
    		   $this->Image('../images/folder/o2bikers.png',8,100,43,17);
    		    $this->Image('../images/folder/avenir.jpg',8,145,43,17);
    			 $this->Image('../images/folder/notube.png',8,175,43,23);
    			  $this->Image('../images/folder/fox.jpg',8,220,43);
    			  $this->Image('../images/folder/ravx.png',8,260,43,20);
    			  $this->Image('../images/folder/ebc.jpg',70,263,30);
    			  $this->Image('../images/folder/ked.png',120,260,43,18);
    		  $this->Image('../images/folder/petit velo.jpg',52,80,60,110);
     
    	}
     
       function test() { 
    	if (isset ($data['id']) == '27')
    		{
    		$this->Image('../images/folder/helios.png',70,8,50,60);	 
    		}
    		else
    		{
    		$this->Image('../images/folder/bicyclic.jpg',70,8,50,60);	 
    		}
     
       }
     
    $pdf=new PDF();
        $pdf->Open();
        $pdf->AliasNbPages();
        $pdf->AddPage();
        $pdf->test();
     
     
    $pdf->Output();

  2. #2
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,

    pourrais tu nous faire un petit print_r($_POST) et print_r($rand) pour voir ce qu'il contienne durant ton opération stp?
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  3. #3
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Hello,


    J'ai juste modifié une erreur dans ma fonction car la valeur de $rand doit faire varier la condition et non pas $data['id']

    Voici la correction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function test() { 
    	if (isset ($rand) == '27')
    		{
    		$this->Image('../images/folder/helios.png',70,8,50,60);	 
    		}
    		else
    		{
    		$this->Image('../images/folder/bicyclic.jpg',70,8,50,60);	 
    		}
     
       }
    Voici le contenu de :
    print_r($_POST) m'affiche Array ( [rando] => 27 )
    print_r($rand) m'affiche 27

    Donc pour moi il devrait m'afficher l'image helios ben non c'est l'autre

  4. #4
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par legrandse Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	if (isset ($rand) == '27')
    je crois que tu devrais faire plutôt ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset ($rand) &&  $rand=='27')
    je ne suis pas sur que ca corrige ton problème (je pense que si) mais bon se sera déjà plus propre ^^
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  5. #5
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    J'ai essayé à l'instant en modifiant l'initialisation mais à mon grand regret çà ne marche pas. Il m'affiche l'image de Bicyclic alors que l'ID et $rand sont égaux.

    C'est fou pour une bête condition le temps passé à ce problème.

    Que faire de plus ?

    Merci.

  6. #6
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,

    pourrais tu faire ceci stp, et nous dire ce que ca te renvoie:

    et aussi ca temps qu'on y est :

    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  7. #7
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Veux-tu dire comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $val = ($rand=='27');
     
    function test() { 
    	if (isset ($val) && $val)
    		{
    		$this->Image('../images/folder/helios.png',70,8,50,60);	 
    		}
    		else
    		{
    		$this->Image('../images/folder/bicyclic.jpg',70,8,50,60);	 
    		}
     
       }
    J'ai essayé mais j'ai toujours la mauvaise image qui apparait.

  8. #8
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Et bien voilà j'ai trouvé la solution.

    j'ai déplacé tout le code de la condition dans l'instanciation de la classe dérivée.

    Voilà ce que cela donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        $pdf=new PDF();
        $pdf->Open();
        $pdf->AliasNbPages();
        $pdf->AddPage();
    if (isset ($rand) && $rand == '27')
    		{
    		$pdf->Image('../images/folder/helios.png',70,8,50,60);	 
    		}
    		else
    		{
    		$pdf->Image('../images/folder/bicyclic.jpg',70,8,50,60);	 
    		}
    Ce qui m'embête c'est que je ne saurais pas pq cela ne marchait pas dans une fonction.

    Enfin c'est le résultat qui compte.

  9. #9
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Heu je crois que je comprends pourquoi ca marcher pas, lorsque tu fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        $pdf=new PDF();
        $pdf->Open();
        $pdf->AliasNbPages();
        $pdf->AddPage();
    if (isset ($rand) && $rand == '27')
    		{
    		$pdf->Image('../images/folder/helios.png',70,8,50,60);	 
    		}
    		else
    		{
    		$pdf->Image('../images/folder/bicyclic.jpg',70,8,50,60);	 
    		}
    c'est différent de ca:

    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
     
        $pdf=new PDF();
        $pdf->Open();
        $pdf->AliasNbPages();
        $pdf->AddPage();
    function test() { 
    	if (isset ($rand ) && $rand)
    		{
    		$this->Image('../images/folder/helios.png',70,8,50,60);	 
    		}
    		else
    		{
    		$this->Image('../images/folder/bicyclic.jpg',70,8,50,60);	 
    		}
     
       }
    car tu n'exécutes pas ta fonction et en plus $rand (dans ta fonction) n'est pas le même que $rand en dehors (c'est un problème de portabilité de variable).

    En faisant ceci cela devrait marcher:

    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
    $pdf=new PDF();
        $pdf->Open();
        $pdf->AliasNbPages();
        $pdf->AddPage();
    $rand=27;
    function test($val) { 
    	if (isset ($val) && $val=='27')
    		{
    		$this->Image('../images/folder/helios.png',70,8,50,60);	 
    		}
    		else
    		{
    		$this->Image('../images/folder/bicyclic.jpg',70,8,50,60);	 
    		}
    test($rand);
       }
    Si cela marche tu pourras mettre un petit résolue devant ton topic
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

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

Discussions similaires

  1. [XL-2010] insérer une image sous condition sur plusieurs lignes
    Par jesslab dans le forum Excel
    Réponses: 2
    Dernier message: 06/12/2013, 09h35
  2. comment insérer une image sous condition?
    Par elabadiabdelmoula dans le forum Langage
    Réponses: 8
    Dernier message: 21/02/2013, 12h57
  3. Afficher image sous condition
    Par wachoo31 dans le forum IHM
    Réponses: 10
    Dernier message: 27/01/2008, 10h22
  4. afficher une image sous condition dans un etat
    Par gui-llaume dans le forum IHM
    Réponses: 1
    Dernier message: 31/10/2007, 21h53
  5. Afficher une image sous condition
    Par Chmog dans le forum BIRT
    Réponses: 5
    Dernier message: 28/07/2006, 12h11

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