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 :

[PHP-JS] Image cliquable via echo [Fait]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [PHP-JS] Image cliquable via echo
    Bonjour,

    Je récupère une image contenue dans ma BDD pour l'afficher. Je souhaiterais que l'on puisse cliquer dessus pour l'avoir en plus grand...

    J'ai essayer plusieurs solutions mais rien ne fonctionne.

    Voici comment j'affiche mon image sur mon site:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $mmcs->ficheProduitIllustration($prod);?>
    Et voici ma fonction ficheProduitIllustration():

    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
    function ficheProduitIllustration($prod)
    	{
    		global $rub;
     
    		$this->ficheProduitCheck($prod);
     
    		$return = '';
     
    		/** ILLUSTRATION **/
    		$illu_q = 'SELECT id FROM '.__MMCS_PREFIX__.'_produit_illustration WHERE ref_produit="'.$prod.'"';
    		$illu_r = mysql_query($illu_q);
     
    		while($illu = mysql_fetch_assoc($illu_r))
    		{
    			if(is_file('_data/prod/'.$prod.'_'.$illu['id'].'.jpg'))
    					$return .= '<img src="_img_fiche.php?file=_data/prod/'.$prod.'_'.$illu['id'].'.jpg" alt="'.htmlentities($this->rubriqueExpressionCle($rub)).' : '.altValue($this->ficheProduitData['produit']['mot_cle'],$this->ficheProduitData['produit']['titre']).'"/>';
    		}
    		return $return;
    	}
    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 599
    Points
    12 599
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $return .= '<img src="_img_fiche.php?file=_data/prod/'.$prod.'_'.$illu['id'].'.jpg" alt="'.htmlentities($this->rubriqueExpressionCle($rub)).' : '.altValue($this->ficheProduitData['produit']['mot_cle'],$this->ficheProduitData['produit']['titre']).'"/>';
    		}
    il manque la balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='lieuImageGrande'></a>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Tout simplement ... La seule chose que je n'avais pas faite, et c'était la plus évidente ...

    Merci MaitrePylos

    Juste une précision. Est il possible dans une telle fonction de coder un system plus élégant pour l'affichage de l'image en grand (autre que target="_blank")

    J'ai vue sur certain site, une sorte de "Pop-Up" montrant l'image en grande...

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Il existe une appli javascript "Lightbox" qui fait ca très bien :
    http://www.huddletogether.com/projects/lightbox/

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Effectivement, l'effet de visualisation est bien sympa.

    Mais je ne peux pas mettre des balises <sript> dans mon fichier contenant ma fonction ficheProduitIllustration()... Du moins je ne crois pas.

    Ma page de fonction .php est constitué 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
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    class MMCS
    {
    ....mes différentes fonctions....
    function ficheProduitIllustration($prod)
    	{
    		global $rub;
     
    		$this->ficheProduitCheck($prod);
     
    		$return = '';
     
    		/** ILLUSTRATION **/
    		$illu_q = 'SELECT id FROM '.__MMCS_PREFIX__.'_produit_illustration WHERE ref_produit="'.$prod.'"';
    		$illu_r = mysql_query($illu_q);
     
    		while($illu = mysql_fetch_assoc($illu_r))
    		{
    			if(is_file('_data/prod/'.$prod.'_'.$illu['id'].'.jpg'))
    					$return .= '<a href="_data/prod/'.$prod.'_'.$illu['id'].'.jpg" target='_blank';><img src="_img_fiche.php?file=_data/prod/'.$prod.'_'.$illu['id'].'.jpg" alt="'.htmlentities($this->rubriqueExpressionCle($rub)).' : '.altValue($this->ficheProduitData['produit']['mot_cle'],$this->ficheProduitData['produit']['titre']).'"/></a>';
    		}
    		return $return;
    	}
    }
    ?>

  6. #6
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Mais je ne peux pas mettre des balises <sript> dans mon fichier contenant ma fonction ficheProduitIllustration()... Du moins je ne crois pas.
    Si, c'est tout à fait possible :
    echo '<script type="text/javascript"><!-- CONTENU JS --></script>';

    Sinon si ce script est utilisé dans d'autres pages tu peux l'inclure dans ton entête HTML ?

  7. #7
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Sinon si ce script est utilisé dans d'autres pages tu peux l'inclure dans ton entête HTML ?
    Attention le JavaScript toujours le plus bas possible et non dans l'en-tête...

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par Kennel sébastien Voir le message
    Attention le JavaScript toujours le plus bas possible et non dans l'en-tête...
    ?

    Pour quelle raison ne pas faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <head>
    <script type="text/javascript" src="/scripts/general.js"></script>
    </head>

  9. #9
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    Hum, t'es cours d'optimisation sont t'a revoir, du moins du coté client... Tu devrais lire le livre Optimiser les performances de son site de Steve Souders .

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Finalement j'ai opté pour la solution <script> dans mon html et sa fonctionne parfaitement !

    Merci à tous pour votre aide !

  11. #11
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par Kennel sébastien Voir le message
    Hum, t'es cours d'optimisation sont t'a revoir, du moins du coté client... Tu devrais lire le livre Optimiser les performances de son site de Steve Souders .
    Tes cours d'orthographe le sont également

    Je n'ai pas trouvé sur le net de raison à ne pas insérer la balise script dans le head mais ca m'interesse beaucoup. Pourrais-tu me l'expliquer brièvement ?

  12. #12
    Membre averti Avatar de Kennel sébastien
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 226
    Points : 329
    Points
    329
    Par défaut
    Tes cours d'orthographe le sont également

    Je n'ai pas trouvé sur le net de raison à ne pas insérer la balise script dans le head mais ca m'interesse beaucoup. Pourrais-tu me l'expliquer brièvement ?
    Oui c'est vrai, c'est pas mon fort les cours de langues, cependant ce n'est pas pour autant que je ne sais pas faire mon travail :-p.
    Il existe un attribut defer à la balise script qui dit au navigateur de charger le contenu XHTML sans attendre le chargement du script. Cependant le problème c'est que cet attribut n'est pas gérer par tout les navigateurs. Finalement la seule solution est de mettre le JavaScript le plus bas possible.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/06/2012, 03h11
  2. [MySQL] Mettre une image cliquable sur un lien en PHP
    Par qmike dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/07/2010, 12h54
  3. Réponses: 4
    Dernier message: 08/08/2007, 12h37
  4. [PHP-JS] zone cliquable d'une image
    Par poula dans le forum Langage
    Réponses: 1
    Dernier message: 17/01/2007, 13h57
  5. Images cliquable...
    Par Angeldu74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 26/01/2006, 17h30

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