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

PHP & Base de données Discussion :

Erreur dans une boucle while [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 44
    Par défaut Erreur dans une boucle while
    Bonjour a tous ,
    explications:
    J'ais une boucle avec while , je voudrais quelles m'affiche les titre de la table "categorie_realisations" ce qu'elle fait correctement . Et en dessous chaque images d'une réalisation qui sont classée par catégorie dans la "tablemini_réalisations" .
    Donc mon constat est qu'elle m'affiche bien les titres de catégorie mais pas les cinq images qui ce trouvent dans la table "tablemini_réalisations" elle en affiche qu'une seule et dans la mauvaise catégorie.

    En espérant m'être bien fais comprendre
    Je vous remercie par avance de votre aide.

    Voici la source en .php

    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
     
    /*début de la galerie*/
     
    /*Requete pour récupérer les catégories et titres de la galerie*/
    $requete_categorie_realisations = mysql_query('SELECT categorie_realisations_id, categorie_realisations_titre FROM categorie_realisations ORDER BY categorie_realisations_id ')or die(mysql_error() . $requete_sql);
     
    /*Requete pour récupérer les images de chaque catégorie de la galerie*/
    $requete_mini_réalisations = mysql_query('SELECT mini_réalisations_id, mini_réalisations_image, mini_réalisations_titre, mini_réalisations_url, mini_réalisations_fiche_url ,mini_réalisations_categorie_id  FROM mini_réalisations ORDER BY mini_réalisations_categorie_id ')or die(mysql_error() . $requete_sql);
     
    /*Affichage sous forme de liste*/
    while (($data_categorie_realisations = mysql_fetch_assoc($requete_categorie_realisations)) && ($data_mini_réalisations = mysql_fetch_assoc($requete_mini_réalisations)))
    				{
    				 echo'	
    				 <p>'.nl2br(trim(stripslashes(htmlspecialchars($data_categorie_realisations['categorie_realisations_titre'])))).'</p>
    				 <a href="'.nl2br(trim(stripslashes(htmlspecialchars($data_mini_réalisations['mini_réalisations_fiche_url '])))).'">
    				 <img src="'.nl2br(trim(stripslashes(htmlspecialchars($data_mini_réalisations['mini_réalisations_image'])))).'" 
    				 alt="'.nl2br(trim(stripslashes(htmlspecialchars($data_mini_réalisations['mini_réalisations_titre'])))).'"/></a>				 										
    					';												  
    				}
     
     
    /*Fin de la galerie*/
    Et les tables concernées:

    [CODE]/*Table mini_réalisations*/
    CREATE TABLE `mini_réalisations` (
    `mini_réalisations_id` int(11) NOT NULL AUTO_INCREMENT,
    `mini_réalisations_image` varchar(30) collate latin1_general_ci NOT NULL,
    `mini_réalisations_titre` varchar(100) collate latin1_general_ci NOT NULL,
    `mini_réalisations_url` varchar(100) collate latin1_general_ci NOT NULL,
    `mini_réalisations_fiche_url` varchar(100) collate latin1_general_ci NOT NULL,
    `mini_réalisations_categorie_id` int(100) NOT NULL,
    PRIMARY KEY (`mini_réalisations_id`)
    );


    /*Table categorie_realisations*/
    CREATE TABLE `categorie_realisations` (
    `categorie_realisations_id` int(11) NOT NULL AUTO_INCREMENT,
    `categorie_realisations_titre` varchar(100) collate latin1_general_ci NOT NULL,
    PRIMARY KEY (`categorie_realisations_id`)
    ); /CODE]

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    déja enleve l' accent dans $requete_mini_réalisations dans le while et a la declaration de variable .

    Et dis nous ce que sa donne

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 44
    Par défaut
    J'ai enlevé les accents comme demandé mais sa a rien changé.

    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
     
    <?php
     
    /*début de la galerie*/
     
    /*Requete pour récupérer les catégories et titres de la galerie*/
    $requete_categorie_realisations = mysql_query('SELECT categorie_realisations_id, categorie_realisations_titre FROM categorie_realisations ORDER BY categorie_realisations_id ')or die(mysql_error() . $requete_sql);
     
    /*Requete pour récupérer les images de chaque catégorie de la galerie*/
    $requete_mini_realisations = mysql_query('SELECT mini_réalisations_id, mini_réalisations_image, mini_réalisations_titre, mini_réalisations_url, mini_réalisations_fiche_url ,mini_réalisations_categorie_id  FROM mini_réalisations ORDER BY mini_réalisations_categorie_id ')or die(mysql_error() . $requete_sql);
     
    /*Affichage sous forme de liste*/
    while (($data_categorie_realisations = mysql_fetch_assoc($requete_categorie_realisations)) && ($data_mini_realisations = mysql_fetch_assoc($requete_mini_realisations)))
    				{
    				 echo'	
    				 <p>'.nl2br(trim(stripslashes(htmlspecialchars($data_categorie_realisations['categorie_realisations_titre'])))).'</p>
    				 <a href="'.nl2br(trim(stripslashes(htmlspecialchars($data_mini_realisations['mini_réalisations_fiche_url '])))).'">
    				 <img src="'.nl2br(trim(stripslashes(htmlspecialchars($data_mini_realisations['mini_réalisations_image'])))).'" 
    				 alt="'.nl2br(trim(stripslashes(htmlspecialchars($data_mini_realisations['mini_réalisations_titre'])))).'"/></a>				 										
    					';												  
    				}
     
     
    /*Fin de la galerie*/
     
    ?>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 44
    Par défaut
    Je me suis dit pour quoi pas faire une jointure sa devrait résoudre le soucis et non la boucle fonctionne bien mais le soucis maintenant c'est que le titre ce répète a chaque image présente dans cette catégorie.

    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
    <?php
     
    /*début de la galerie*/
     
    /*Requete pour récupérer les catégories et titres de la galerie*/
    $requete_galerie = mysql_query('SELECT * FROM categorie_realisations, mini_réalisations WHERE categorie_realisations.categorie_realisations_id  = mini_réalisations.mini_réalisations_categorie_id ORDER BY categorie_realisations_id')or die(mysql_error() . $requete_sql);
     
    /*Affichage sous forme de liste*/
    while ($data_galerie = mysql_fetch_assoc($requete_galerie))
    				{
    				 echo'	
    				 	<p>'.nl2br(trim(stripslashes(htmlspecialchars($data_galerie['categorie_realisations_titre'])))).'</p>
    					<a href="'.nl2br(trim(stripslashes(htmlspecialchars($data_galerie['mini_réalisations_fiche_url '])))).'">
    				 	<img src="'.nl2br(trim(stripslashes(htmlspecialchars($data_galerie['mini_réalisations_image'])))).'" 
    				 	alt="'.nl2br(trim(stripslashes(htmlspecialchars($data_galerie['mini_réalisations_titre'])))).'"/></a>
    					';	
     
    				}				
     
     
    /*Fin de la galerie*/
     
    ?>

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Par défaut
    C'est normal vu que tu affiches le titre dans la boucle .

    De plus, je n'ai jamais vu while ($truc=mysql_fetch_assoc($machin)) {}
    Moi j' utilise while ($truc=mysql_fetch_array($machin)) {}

    Je ne dis pas que sa se fait pas, mais je n'ai jamais procedé comme cela essaie mon exemple .

    Si tu veux associer un titre different a chaque image, tu dois associer l' image avec le titre par exemple if ($id_image==$id_titre) {echo $titre.' '.$image;}

    Enfin c'est un exemple pour t' expliquer le fonctionnement

    essaye en premier lieu mysql_fetch_array() déja et dis moi

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 44
    Par défaut
    Le array revient au même pour moi.
    En gros voila ce que retourne cette boucle.

    titre1
    image
    titre1
    image
    titre1
    image
    titre1
    image

    au lieu de:

    titre 1
    image image image image

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

Discussions similaires

  1. Gestion des erreurs dans une boucle While
    Par Gregory.M dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/08/2008, 20h57
  2. erreur mysql-fetch_array dans une boucle While
    Par carmen256 dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/04/2006, 17h15
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

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