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 :

J'ai deux boucle, et la boucle image affiche tout a chaque fois au lieu d'afficher que l'image correspondant


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut J'ai deux boucle, et la boucle image affiche tout a chaque fois au lieu d'afficher que l'image correspondant
    J'ai un tableau avec des information en texte une image pour certain d'autre qui en on pas.
    J'ai une boucle qui affiche les information texte et une autre boucle qui affiche les images dans la boucle texte.
    Mon soucis c'est cas chaque fois il fait affiche toute les images, au lieu d'afficher l'image correspondant.
    Est-ce que par la même occasion il y aurais moyen de ne faire qu'une requête au lieu de deux ?
    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
    <div class="row">
                                    <div class="col s12 m12 l12">
                                        <h5 class="souligne">Table Genre_des_plats</h5>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col s12 m5 l5">
                                        images
                                    </div>
                                    <div class="col s12 m2 l2">
                                        Genre
                                    </div>
                                    <div class="col s12 m1 l1">
                                        Groupe
                                    </div>
                                    <div class="col s12 m4 l4">
                                        Action
                                    </div>
                                </div>
                                <?php //Je creer une requete sql pour selectionner tout de la table genre_des_plats
                                $sql_genre_des_plats = "SELECT * FROM genre_des_plats ORDER BY id_genre_des_plats ASC";
                                //Je verifie si il y a une erreur dans la requete
                                if(mysqli_errno($connexion) != 0){
                                    die ('ERREUR '.mysqli_error($connexion));
                                }
                                //J'execute la requet sql
                                $resultat_genre_des_plats = mysqli_query($connexion, $sql_genre_des_plats);
                                //Je fais une boucle sur $resultat_select pour afficher tant qu'il y a quelque chose dedans -->
                                while($select_genre = mysqli_fetch_assoc($resultat_genre_des_plats)){ ?>
                                    <div class="row">
                                        <div class="col s12 m5 l5">
                                            <?php //Je creer une requete sql pour selectionner tout de la table genre_des_plats
                                            $sql_images_genres = "SELECT id_images, ref_images, lien_images FROM genre_des_plats JOIN images ON genre_des_plats.ref_images = images.id_images";
                                            //Je verifie si il y a une erreur dans la requete
                                            if(mysqli_errno($connexion) != 0){
                                                die ('ERREUR '.mysqli_error($connexion));
                                            }
                                            //J'execute la requet sql
                                            $resultat_images_genres = mysqli_query($connexion, $sql_images_genres);
                                            while ($select_images_genres = mysqli_fetch_assoc($resultat_images_genres)){ ?>
                                            <div class="card">
                                                <div class="card-image">
                                                    <img src="
                                                    <?php if($select_images_genres["id_images"] == $select_images_genres["ref_images"]){
                                                        echo $select_images_genres["lien_images"];
                                                    } else {
                                                        echo "";
                                                    }?>"/>
                                                </div>
                                            </div>
                                            <?php } ?>
                                        </div>
                                        <div class="col s12 m2 l2">
                                            <?php echo $select_genre["nom_des_genres"]; ?>
                                        </div>
                                        <div class="col s12 m1 l1">
                                            <?php echo $select_genre["groupe_genre"]; ?>
                                        </div>
                                        <div class="col s12 m4 l4">
                                            <a class="boutonvert btn waves-effect waves-light ajoumodsup" href="modif_genre_des_plats.php?modif_genre=<?php echo $select_genre["id_genre_des_plats"]; ?>">Modifier</a>
                                            <a class="boutonvert btn waves-effect waves-light ajoumodsup" href="genre_des_plats.php?id_suppression=<?php echo $select_genre["id_genre_des_plats"]; ?>">Supprimer</a>
                                        </div>
                                    </div>
                                <?php } ?>

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Hello,

    Est-ce que par la même occasion il y aurais moyen de ne faire qu'une requête au lieu de deux ?
    C'est peut-être bête, mais si on regarde les deux commentaires qui sont relatifs aux requêtes et tu devrais avoir ta réponse :

    //Je creer une requete sql pour selectionner tout de la table genre_des_plats
    //Je creer une requete sql pour selectionner tout de la table genre_des_plats
    Donc à supposer que oui? Si on regarde un peu plus les requêtes, la seule différence c'est que dans l'une tu sélectionnes tous les champs pour les trier de manière ascendante. Donc ça complexifie (et encore...) la requête, mais tu devrais pouvoir le faire.

    Après (personnellement) je suis pas fan de faire la requête + le traitement qui suit dans le HTML.
    As-tu essayé d'afficher "pas à pas" le display de tes boucles?

    Bon courage

    Edit: Tu peux éventuellement t'inspirer du tutoriel de Jreaux : Ici

  3. #3
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    Les commentaire c'est moi qui les ai écrit, et il faut pas trop si fier, car je fais des copié coller.
    J'ai déjà essayé de faire les deux requêtes en une, mais il ne m'affiche pas tout les nom_des_genres, il ne m'affiche que ceux qui ont une images et mon problème c'est que certain non pas d'image associé.
    vus que je suis obligé de faire une requête dans une requête, je dois les faire dans le html (il me semble).

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    En SQL, ta problématique s'appelle un left join...

    Teste ceci dans ton PHPmyadmin...

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT p.id_genre_des_plats, p.nom_des_genres,p.groupe_genre,i.id_images, i.ref_images, i.lien_images 
    FROM genre_des_plats p
    left JOIN images i ON p.genre_des_plats.ref_images = i.images.id_images
    ORDER BY p.id_genre_des_plats ASC
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    Il ne veut pas la requête, il me dit qu'elle a une erreur,

    Requête SQL : Documentation
    SELECT p.id_genre_des_plats, p.nom_des_genres,p.groupe_genre,i.id_images, i.ref_images, i.lien_images
    FROM genre_des_plats p
    left JOIN images i ON p.genre_des_plats.ref_images = i.images.id_images
    ORDER BY p.id_genre_des_plats ASC LIMIT 0, 25


    MySQL a répondu : Documentation
    #1054 - Champ 'i.ref_images' inconnu dans field list

  6. #6
    Membre confirmé
    Homme Profil pro
    en étude de webmaster
    Inscrit en
    Février 2016
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : en étude de webmaster

    Informations forums :
    Inscription : Février 2016
    Messages : 125
    Par défaut
    Pour finir, j'ai réussi a que cela marche, mais je sais pas ce qu'était l'erreur.

  7. #7
    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
    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]

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/02/2011, 17h04
  2. liaison deux tables dans une boucle
    Par crazylia dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/04/2010, 11h55
  3. [MySQL] Deux requêtes dans une boucle
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 25/02/2009, 10h41
  4. Concaténer deux variables dans une boucle
    Par jeremie74 dans le forum Flash
    Réponses: 2
    Dernier message: 22/05/2007, 19h51
  5. [FLASH MX2004] Deux conditions dans une boucle
    Par pierrot10 dans le forum Flash
    Réponses: 1
    Dernier message: 06/11/2005, 16h31

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