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 :

Affichage Image lien phpmyadmin


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Par défaut Affichage Image lien phpmyadmin
    Bonjour,

    Je voudrais afficher une image en fonction d'un bouton radio coché.

    J'ai dans ma BDD une table "Utilitaires"
    qui contient : util_id, util_nom, util_chemin, util_bloc_number et util_picture

    Je voudrais que lorsque l'on coche l'utilitaire 1 (qui à la valeur util_id=1), l'image correspondante qui à son lien dans util_picture s'affiche.
    Si coche l'utilitaire 2, c'est l'image correspondante qui s'affiche etc...

    J'ai essayé avec 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
    if(isset($_POST["util_id"]) && $_POST["util_id"] != "" ) {
     
    $util2 = array() ;
    $req = "SELECT util_id, util_picture FROM utilitaires WHERE util_bloc_number=2 ;" ;
    $req = mysql_query($req) ;
    while( $data = mysql_fetch_array($req) ) {
        $util2[$data["util_id"]] = $data["util_picture"] ;
     
    }
     
    foreach( $util2 as $id=>$nom ) {
        $checked = "" ;
        if(isset($_POST["util_id"]) && $_POST["util_id"] == $id) { $checked = " checked" ; }
        echo '<input type="radio" name="util_id" value="'.$id.'"'.$checked.' onClick="submit();"/> '.$nom.' <br />' ;
        echo '<img src="'.$data['util_picture'].'" border="0" /></div>  ';
     
    }
    echo '</div>' ;
    Mais l'image ne s'affiche pas,

    J'ai fait diverses recherches et j'ai trouvé cet exemple :
    Code html : 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
    <table border="1" summary=""><!-- un tableau de 2*1 -->
    <tr>
    <td><!-- une liste de 3 boutons radio avec un événement "onclick" qui va changer la propriété "src" de l'image qui porte le nom "monImage" -->
     
    <input type="radio" name="boutonradio" value="texte de mon bouton ligne1" onclick="monImage.src='chien.jpg'"> texte de mon bouton ligne1<br>
     
    <input type="radio" name="boutonradio" value="texte de mon bouton ligne 2" onclick="monImage.src='abeille.jpg'"> texte de mon bouton ligne 2<br>
     
    <input type="radio" name="boutonradio" value="texte de mon bouton ligne 3" checked onclick="monImage.src='grenouille.jpg'"> texte de mon bouton ligne 3<br>
    </td>
    <td><!-- Une image qui porte un nom, ici monImage -->
     
    <img name="monImage" src="chat.jpg" border="0" width="100" height="70" alt="">
    </td>
    </tr>
    </table>

    Le problème c'est que je veux afficher les image en fonction des variables des utilitaires (util_id), je ne vois donc pas trop comment faire...

    Merci à vous

  2. #2
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Par défaut
    Salut,

    j'ai essayé avec 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
    # Requete : Liste des utilitaires de la machine
    $util = array() ;
    $req = "SELECT util_id, util_nom, util_chemin, util_picture FROM utilitaires WHERE util_id=1 ;" ;
    $req = mysql_query($req) ;
    while( $data = mysql_fetch_array($req) ) {
    	$util[$data["util_id"]] = $data["util_nom"] ;
    	$util2[$data["util_id"]] = $data["util_picture"] ;
    }
     
    ######################
    # Affichage des pictures
    ######################
    echo '</td></tr>' ;
    echo '<div id="util_picture">' ;
    foreach( $util2 as $id=>$nom ) {
        $checked = "" ;
        if(isset($_POST["util_id"]) && $_POST["util_id"] == $id) { $checked = " checked" ; }
        echo '<input type="radio" name="util_id" value="'.$id.'"'.$checked.' onClick="'.$data.';"/> '.$nom.' <br />' ;
        echo '<img src="../../../image3/'.$data['util_picture'].'" border="0" /></div>  ';
    	}
    echo '</div>' ;
    Le problème c'est que l'image ne s'affiche pas et lorsque je clique sur afficher l'image ça me met :

    Forbidden

    You don't have permission to access /param_complus/image3/ on this server.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ben a priori, l'image n'est pas dans un répertoire accessible.
    Donc 2 possibilités :
    - soit tu as fait une erreur dans le chemin (un .. de trop par exemple)
    - soit l'image est réellement là où tu vas la chercher et dans ce cas, il faut que tu la déplaces vers un dossier accessible.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Par défaut
    Salut,

    Je viens de faire un test avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<img src="../../../image3/ScreenHunter_172.jpg" border="0" /></div>  ';
    Ceci affiche bien l'image, par contre si je fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<img src="../../../image3/'.$data['util_picture'].'" border="0" /></div>  ';
    Avec dans la table utilitaires, le champ util_picture la valeur ScreenHunter_172.jpg, ca me met le message d'erreur ci-dessus "Forbiden..."

    Avez vous une idée de ce qui coince.. ?

    Merci

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Si tu regardes la source HTML générée de ta page, est-ce que l'adresse de l'image est correcte ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Par défaut
    Oui mais je ne comprend pas pourquoi si c'était un probleme d'accès, ça marcherait avec le lien direct...


    Quand je fait ctrl +u j'ai
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="../../../image3/ScreenHunter_172.jpg" border="0" name="util_id" value="1" checked onClick=";"/> <br /><img src="../../../image3/" border="0" />


    Si je clique sur le lien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ../../../image3/ScreenHunter_172.jpg
    Jarrive bien sur l'image alors que l'autre lien :

    Ca me met forbidden...


    Le lien HTML de la page forbidden contient seulement http://param/image3/

    Avez vous une idée du problème ?

  7. #7
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Par défaut
    Je viens de trouver le problème, il fallait en fait mettre la variable $nom et non la variable $data...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(isset($_POST["util_id"]) && $_POST["util_id"] == $id) { $checked = " checked" ; }
        echo '<img src="../../../image3/'.$data['util_picture'].'" border="0" /></div>  ';
        }
    devient alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(isset($_POST["util_id"]) && $_POST["util_id"] == $id) { $checked = " checked" ; }
        echo '<img src="../../../image3/'.$nom.'" border="0" /></div>  ';
       }
    Par contre je voudrais que les images s'affiche uniquement lorsque le bouton util est coché...

    Ca marche avec le bouton radio comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo '<input type="radio" name="util_id" value="'.$id.'"'.$checked.' onClick="'.$data.';"/> '.$nom.' <br />' ;
    Le bouton se coche uniquement lorsque le bouton util est coché, mais je ne sais pas comment l'adapté pour afficher ou non l'image...


    Merci encore

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Le plus simple est d'appliquer la même condition que celle qui te permet de déterminer si le bouton doit être coché ou non.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Par défaut
    C'est à dire, cette condition là ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST["util_id"]) && $_POST["util_id"] == $id) { $checked = " checked" ; }
    Je ne comprend pas trop...

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Yep ! Quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $affImage = false;
    if(isset($_POST["util_id"]) && $_POST["util_id"] == $id) { 
        $checked = " checked" ;
        $affImage = true;
    }
    echo '<input type="radio" name="util_id" value="'.$id.'"'.$checked.' onClick="'.$data.';"/> '.$nom.' <br />' ;
    if ($affImage) {
        echo '<img src="../../../image3/'.$data['util_picture'].'" border="0" /></div>  ';
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Membre averti
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Par défaut
    Ca marche !!!!

    Impeccable merci beaucoup à toi !!

    Depuis le temps que je galère dessus !!

Discussions similaires

  1. Affichage image lors d'un survol de lien
    Par Dawlon dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 02/12/2012, 16h30
  2. probleme lien image (affichage image).
    Par argon dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 22/07/2007, 10h14
  3. [Upload] upload d'images et affichage du lien
    Par loopback dans le forum Langage
    Réponses: 6
    Dernier message: 31/05/2007, 21h55
  4. [CSS] affichage image lors du survol d'un lien
    Par t_om84 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 24/03/2006, 03h02
  5. [Kylix] pb Affichage image .jpg
    Par sioux dans le forum EDI
    Réponses: 4
    Dernier message: 18/01/2004, 19h20

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