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 :

formatage d'une requete


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    345
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 345
    Par défaut formatage d'une requete
    Bonjour,
    j'ai une requete qui me renvoie le resultat suivant cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CRU  GROUPE         QTE
    ---- ------- ----------
    cru1 Nouveau         10
    cru1 Ancien           5
    cru2 Nouveau         25
    cru2 Ancien          25
    cru3 Nouveau         20
    cru3 Ancien          10
    cru4 Nouveau         20
    cru4 Ancien          10
    cru5                  0
    mon souhait c'est affiche une page web mais sous la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    GROUPE    QTE_CRU1   QTE_CRU2   QTE_CRU3   QTE_CRU4   QTE_CRU5 QTE_TOTALE
    ------- ---------- ---------- ---------- ---------- ---------- ----------
    Nouveau         10         25         20         20          0         75
    Ancien           5         25         10         10          0         50
    Total           15         50         30         30          0        125
    Cordialement,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Reclasse tes données dans un tableau indexé comme ça :
    $tab[$groupe][$cru] = valeur

    Ensuite tu n'as plus qu'a parcourir le tableau
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Bon allez je te file un bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $tab = array();
    while ($row = mysql_fetch_assoc($results))
    {
       if (!isset($tab[$row['GROUPE'])) $tab[$row['GROUPE']] = array();
       $tab[$row['GROUPE']][$row['CRU'] = $row['QTE'];
    }
    ça te va ?

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Ce serait pas mieux de travailler la requête pour qu'elle donne le résultat escompté dès le départ ?

  5. #5
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Dans l'absolu je suis pas sûr. ça va complexifier la requête et dégrader ses performances. Donc il faut faire un bench pour voir si c'est profitable.

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Si la base est bien indexée, la requête ne devrait pas être très lourde, surtout vu le nombre de résultat obtenu.

    Pour moi, je considère qu'un SGBD doit faire son travail et le PHP le sien. Bidouiller les tableaux de résultats après la requête, c'est toujours mauvais signe.

Discussions similaires

  1. [MySQL] mauvais formatage d'un tableau avec une requete
    Par wookie33 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2013, 15h31
  2. formatage d'une requete sql dansun string
    Par tchoua dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/07/2006, 12h25
  3. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53
  4. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

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