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

Langage PHP Discussion :

Problème d'affichage d'image


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut Problème d'affichage d'image
    Bonjour

    Dans une requete je veux extraire un champs qui comporte le chemin d'une image, la valeur de ce champs peut être nulle.
    Si celle si est nul, je veux ne pas afficher l'image.
    J'ai fait ce code et cela m'affiche des images vides, meme si la valeur est nulle :

    la valeur de ce champs dans ma requete est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $image = $resultat->Fields(7);
    Mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    while(!$resultat->EOF)  
    {
    echo"<li>";
    echo"<img id=\"monImg\" alt=\" \" src=\"".$image->value." style='display:block'\">";
    if ($image->value  == null) 
    {
    echo '<script type="text/javascript"> document.getElementById(monImg).display.block="none";</script>'; 
    }
    echo "<p><a href='fiche_site.php?site=$minTitre' target=\"_blank\">$minTitre->value</a></p>";
    //echo "<script>alert( '$image->value');</script>"; 
    $resultat->MoveNext(); // enregistrement suivant
    }
    Quand je met une alerte, j'ai bien le chemin de l'image pour chaque enregistrement
    Pouvez_vous me dire ou est l'erreur
    Merci
    $resultat->Close(); // ferme la requete

  2. #2
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    Tu as essayé avec un if(isset($image->value)) ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Oui et cela ne change rien

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById(monImg).display.block="none"
    Tu es sur de ton Javascript? Ce serait pas plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('monImg').style.display = 'none';

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Celà ne change rien, je ne comprend vraiment pas

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Puisque ton id est dans une boucle while, il y a fort à parier qu'il ne soit pas unique, donc ça ne risque effectivement pas de marcher...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    $image ne devrait pas être affecté d'une valeur dans ta boucle ?

  8. #8
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 11
    Par défaut
    Je pense que les doubles quotes de ton src ne sont pas fermés !
    Essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"<img id=\"monImg\" alt=\" \" src=\"".$image->value."\" style='display:block'\">";

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Tenant compte de tous vos commentaires, j'ai modifié mon code comme suit :
    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
    $i=0;
    while(!$resultat->EOF)  
    {
    echo"<li>";
    $i=$i+1;
    $monImg= "monImg$i";
    echo '<img id="$monImg" alt="" src="'.$image->value.'">';
    	if ($image->value  == "néant") 
    	{
    	echo '<script type="text/javascript">document.getElementById($monImg).display.block="none";</script>';
    	}
    	echo "<p><a href='fiche_site.php?site=$minTitre' target=\"_blank\">$minTitre->value</a></p>";
    	$resultat->MoveNext(); // enregistrement suivant
    	}
    	$resultat->Close(); // ferme la requete
    Et les img ayant pour valeur néant s'affichent quand même

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById($monImg).display.block="none";
    C'est la valeur style.display qu'il faut mettre à none
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    j'ai modifié mon code comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<script type="text/javascript"> document.getElementById($monImg).style.display = "none"</script>';
    et c'est toujours le même problème
    si place une alerte dans ma boucle if, l'alerte me donne bien l'ID de l'image néant
    dans ce cas précis j'ai monImg3, image qui a pour valeur néant
    Je n'y comprends plus rien

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Vanessa48
    si place une alerte dans ma boucle if, l'alerte me donne bien l'ID de l'image néant


    Ta boucle if, elle est en PHP... comment tu fais pour mettre un alert dedans ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($image->value  == "néant") 
    {
    echo "<script>alert( '$monImg');</script>";	
    echo '<script type="text/javascript">
    document.getElementById($monImg).style.display = "none"</script>'; 
    }
    C'est pas comme cela ?

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<script type="text/javascript">
    document.getElementById($monImg).style.display = "none"</script>';
    Entre simples quotes, les variables PHP ne sont pas interprétées
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Si je modifie mon code comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"<img id=\"$monImg\" alt=\" \" src=\"".$image->value."\" style='display:block'\">";
    C'est bon sur Safari
    Mais pas sur IE8

  16. #16
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style='display:block'\"
    Une quote en trop...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. [XML/CSS/XSL] Problème d'affichage des images "dynamiqu
    Par popol55 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/04/2006, 16h24
  2. Problème d'affichage d'image...
    Par fabreizhad dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/03/2006, 12h43
  3. problème d'affichage d'image avec mozilla
    Par lyon31 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/03/2006, 16h27
  4. Problème d'affichage d'image
    Par AurelBUD dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/09/2005, 11h56
  5. CSS Probléme d'affichage d'images
    Par tebonb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/06/2005, 18h35

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