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 :

Affichage de résultats organisé suivant la première lettre [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é
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut Affichage de résultats organisé suivant la première lettre
    Bonjour,

    j'aimerai changer ma manière d'afficher mes résultats de requêtes.

    Aujourd'hui, j'ai un classement alphabétique simple ou tout est à la suite.

    Aladin
    Bartabars
    Caracas
    ...

    J'aimerai faire une présentation comme celle-ci avant d'alimenter comme un fou ma base.

    http://www.superherodb.com/characters.php

    Je suppose qu'il faut faire un classement de base avec sélection sur la première lettre de l'alphabet et ainsi de suite. Cependant, n'existe t-il pas une solution plus simple pour éviter de requêter sur chaque lettre?

    Merci de votre aide

  2. #2
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    tu peux concatener et tout se fera en une requète

    Code MySQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    (SELECT "A" lettre, GROUP_CONCAT(pseudo SEPARATOR " / ") FROM membre
    WHERE pseudo LIKE "a%")
    UNION
    (SELECT "B" lettre, GROUP_CONCAT(pseudo SEPARATOR " / ") FROM membre
    WHERE pseudo LIKE "b%")
    [...]
    UNION
    (SELECT "Z" lettre, GROUP_CONCAT(pseudo SEPARATOR " / ") FROM membre
    WHERE pseudo LIKE "z%")

  3. #3
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    A mon avis, c'est nécessaire de gérer l'affichage avec php.

    Ce que je ferais dans l'ordre :
    1/ requête select substr(nom, 0, 1) as initiale, nom order by initiale
    2/ mise dans un tableau de la requête
    3/ affichage avec pour chaque ligne, test si l'initiale est la même que la ligne précédente : si ce n'est pas le cas, changement de bloc d'affichage.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    guiday, tu as un exemple plus "code" de ce que tu me conseilles, je débute et j'ai parfois du mal à transcrire les solutions

  5. #5
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    son code est écrit noir sur blanc

    Code MySQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT SUBSTR(nom, 0, 1) AS initiale, nom 
    FROM tatable
    ORDER BY initiale;

  6. #6
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    Je pense qu'il parlait plutôt de la 3ème partie de ma solution, malheureusement je n'en ai pas d'exemple simple sous la main (ma version fait plusieurs dizaines de lignes, mais elle gère un tas d'autres choses, et en plus elle est pro donc pas open source).

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/06/2014, 10h22
  2. [XL-2000] Suggestion de résultat à partir des premières lettres
    Par Monfy29 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 02/12/2010, 14h15
  3. Réponses: 2
    Dernier message: 08/02/2008, 16h43
  4. Affichage du résultat
    Par thomas_strass dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2005, 11h30
  5. Mettre la première lettre des mots en majuscule
    Par seb.49 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2003, 14h26

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