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 :

afficher une seule fois un titre pour différents clients qui ont le même titre [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 86
    Par défaut afficher une seule fois un titre pour différents clients qui ont le même titre
    Bonjour,

    je rencontre un problème avec ma requête, celle-ci est correcte mais ceci n'est pas mon problème.

    en faite, j'ai plusieurs titres, "mon_libelle_1", "mon_libelle_2" etc
    j'ai différents clients "mon_client_1", "mon_client_2" etc
    donc les 5 premiers clients appartiennent au titre 1, les 5 suivant au titre 2 etc.

    ma requête m'affiche :
    mon_libelle_1
    mon_client_1
    mon_libelle_1
    mon_client_2
    mon_libelle_1
    mon_client_3
    mon_libelle_2
    mon_client_4
    mon_libelle_2
    mon_client_5
    et ainsi de suite.

    j'aimerai que mon_libelle_1 ne s'affiche qu'une et une seule fois pour les clients dépendant de ce titre.
    enfait que cela me donne :
    mon_libelle_1
    mon_client_1
    mon_client_2
    mon_client_3
    mon_libelle_2
    mon_client_4
    mon_client_5
    etc
    j'ai fais comme requête :
    Code :

    SELECT DISTINCT(LibelleCategorie), NomEntreprise, TexteClient
    FROM client, categorie
    WHERE client.IdCategorie=categorie.IdCategorie
    donc que dois je faire pour n'afficher qu'une fois le libellé pour différents clients ?

    je vous remercie =)

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    Euh, j'ai du mal à comprendre : une requête SQL te renvoie des lignes avec pour chaque ligne autant de champs que tu lui demandes. Il n'y a pas de notion hiérarchique.

    Tu auras un résultat genre

    categorie1 , client1
    categorie1 , client2
    categorie1 , client3
    categorie1 , client4
    categorie1 , client5
    categorie2 , client6
    categorie3 , client7
    categorie4 , client8
    ....

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 86
    Par défaut
    j'ai mis en PJ ce que j'ai.
    mais par exemple pour le libellé "Education Nationale" j'aimerai que le libellé n'apparaisse qu'une fois pour les 5 clients.

    euh comment faire un tour de boucle ? avec un "while" ?
    (je suis pas doué en php alors j'ai du mal à comprendre certaines choses)

  4. #4
    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
    Priss, tu dois bien avoir un code qui execute ta requête genre un mysql_query ou un pdo->execute et quelque chose qui boucle dessus pour faire l'affichage.
    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]

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Un truc du genre
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $result=mysql_query("SELECT DISTINCT(LibelleCategorie), NomEntreprise, TexteClient
    FROM client, categorie
    WHERE client.IdCategorie=categorie.IdCategorie ORDER BY LibelleCategorie");
    $libelle="";
    while($row=mysql_fetch_array($result)){
      if($libelle != $row["LibelleCategorie"]){
         echo $row["LibelleCategorie"]."<br/>";
         $libelle = $row["LibelleCategorie"]
      }
      echo $row["NomEntreprise"]."<br/>";
      .....
    }

    A+

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 86
    Par défaut
    ben j'ai ca : (tout le code)

    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
    <?php
    	include "connexion.php";
    //Création et envoi de la requête
    $query="SELECT LibelleCategorie, NomEntreprise, TexteClient FROM client, categorie WHERE client.IdCategorie=categorie.IdCategorie order by LibelleCategorie";
    $result=mysql_query($query);
    //Récupération des résultats
    while ($row=mysql_fetch_row($result))
    {
    echo '<font face="comic sans ms">';
    $LibelleCategorie=$row[0];
    $NomEntreprise=$row[1];
    $TexteClient=$row[2];
    echo "<tr>\n
    	<td>$LibelleCategorie</td><br />
    	<td>$NomEntreprise<br />
    	<td>$TexteClient</td></tr><p>";
    }
    // on ferme la connexion à mysql
    mysql_close(); 
    ?>
    donc j'ai besoin de mettre un "if" ?

  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
    Par défaut
    pour ce genre de problème, une solution un peu bourrine consiste à trier ta liste sur le libelle et ensuite à mémoriser le libelle d'un tour de boucle au suivant.

    On peut avoir le bout de code qui lit le résultat de ta requête ?
    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]

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    +1Celira,
    En ajoutant "ORDER BY LibelleCategorie" dans la requete pour faciliter la tache.

    A+.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/11/2010, 15h49
  2. Réponses: 7
    Dernier message: 25/07/2007, 13h14
  3. [MySQL] afficher une seule fois les réponses identiques
    Par Giantrick dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/05/2007, 12h35
  4. Réponses: 10
    Dernier message: 02/05/2007, 10h19
  5. [XSLT] Afficher une seule fois les attributs redondants...
    Par kobe dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 17/11/2005, 09h52

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