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 SQL Discussion :

afficher une fois le nom d'un champ


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Points : 16
    Points
    16
    Par défaut afficher une fois le nom d'un champ
    Bonjour

    J'ai une table créer avec phpMyAdmin, je voudrais que ma requète puisse afficher une seule fois le nom du champ.
    Je m'explique:

    j'ai des noms avec pour chaque noms des instruments de musique

    user_name et user_pupitres

    Je voudrais que lorsque il y a plusieurs "user_pupitres" il y en a juste un qui s'affiche.
    Si vraiment quelqu'un pourrait m'aider ça serai vraiment sympa, je vous donne également ma requète. Merci beaucoup.

    Code php : 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
    <div id="executants">
    <h4>EXECUTANTS</h4>
     
    <?php
    $sql = "SELECT `users`.`user_name`, `users`.`user_pupitres` 
    		FROM `users`  
    		WHERE `users`.`user_id` <> 0 AND  (`users`.`user_membres` = 'Exécutants')  
    		ORDER BY `users`.`user_pupitres`";
    		$result = DbConnection::select( $sql );
    		if( DbConnection::hasError() )
    		{
    			$error = DbConnection::getError();
    		}
    		if( $result )
    		{
    				echo TXT_INDENT.TXT_INDENT , '<ul class="id="executants">' , TXT_CRLF;
    				while( $row = mysql_fetch_object( $result ) )
    		{
    				echo TXT_INDENT.TXT_INDENT , '<li>' , $row->user_pupitres , ' </li>' , TXT_CRLF;
    				echo TXT_INDENT.TXT_INDENT , '<ol>' , $row->user_name , ' </ol>' , TXT_CRLF;
    		}
    				echo TXT_INDENT.TXT_INDENT , '</ul>' , TXT_CRLF;
    		}
    ?>
    </div>

  2. #2
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Bonjour

    Ta requête est bonne. C'est au niveau de ton appli PHP que tu dois réaliser cette opération. L'astuce est de conserver la valeur de user_pupitre dans une variable et de n'afficher celle-ci que lorsqu'elle change.

    Explication...

    Imaginons que la requête retourne 4 résultats. Le user_pupitre des 2 premiers est "UP1" et pour les deux derniers "UP2". Tu initialises une variable $userpupitre = null. Puis dans ta boucle while tu vérifies si la valeur de $userpupitre est égale ou différente de cette de $row->user_pupitres. Si elle est égale alors tu n'affiches pas $row->user_pupitres, sinon tu mets à jour $userpupitre avec $row->user_pupitres et tu affiches $row->user_pupitres.

    Cordialement
    Christophe B.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Bonne technique, elbj.
    Sinon, ce qui est possible de faire, je pense (mais je pense que les performances seront moins bonnes)
    C'est faire une première requetes qui récupère les pupitres, puis ensuite, une requetes pour récupérer les user_name de chaque pupitre (avec donc une conditions en plus).

    Mais effectivement, ca en fait de la requete !

    Oublie je pense et prends l'idée de elbj

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/02/2008, 21h12
  2. Page qui s'affiche une fois sur deux.
    Par j.b.snecma dans le forum ASP
    Réponses: 1
    Dernier message: 12/11/2007, 20h29
  3. Réponses: 6
    Dernier message: 12/02/2007, 18h27
  4. Réponses: 11
    Dernier message: 27/06/2006, 15h05
  5. le sous formulaire s'affiche une fois sur deux
    Par Math dans le forum Access
    Réponses: 16
    Dernier message: 10/10/2005, 15h25

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