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

fusionner deux lignes en une seule issus de BDD


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 106
    Par défaut fusionner deux lignes en une seule issus de BDD
    Bonjour, j'avais un problème avec une requête, et ne trouvant pas solution directement, je pense qu'il est plus simple de faire rapprocher la requête de ce que je veux et de traiter le reste en php pour l'affichage.

    Alors ma requète me rend une liste de produit avec pour chaque produit la quantité totale commandé ainsi que cette quantité dispatché selon les dates de la commandes.
    J'ai adapter ma requête et j'obtiens des résultats comme ceci :

    produit // quantité // janvier // février
    produit X // 4 // 4 // 0
    produit X // 2 // 0 // 2
    produit Y // 5 // 5 // 0

    Voilà, maintenant je voudrais regrouper les produits qui ont le même nom ensemble
    Donc additionner la quantité totale mais garder les quantités respectives pour janvier et février.


    produit // quantité // janvier // février
    produit X // 6 // 4 // 2

    Le problème que je rencontre c'est que ma variable pour quantité totale et quantité pour un mois est la même $row->quantite.

    J'suis perdu, je vois pas quoi faire..

    Mon 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
    Code sql
     $sql = "SELECT date_commande,
                            CONCAT(produits.nom, ' ', produits.poids, ' ', produits.parfum) AS article,
                            SUM(quantite - cadeau) AS quantite,
                            SUM(cadeau) AS cadeau,
                             MONTH( date_commande ) AS date,
                            commandes_detail.id_produit
                FROM        commandes_detail
                LEFT JOIN   commandes ON commandes_detail.id_commande = commandes.id
                LEFT JOIN   produits ON commandes_detail.id_produit = produits.id
                WHERE statut = 100
                GROUP BY    id_produit
                ORDER BY    article";
        sql_mysql_query($sql);]

    et coté php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Code html
    <td align="right"><?php if ($row->date==1) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==2) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==3) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==4) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==5) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==6) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==7) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==8) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==9) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==10) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==11) echo $row->quantite; ?> </td>
            <td align="right"><?php if ($row->date==12) echo $row->quantite; ?> </td>

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2011
    Messages : 18
    Par défaut fusionner deux lignes en une seule issus de BDD
    Je pense que ton problème est plus lié à du SQL. Il est donc à transférer dans le forum prévu à cet effet.

    Sinon essaye de modifier ta requête en mettant un distinct sur ton "commandes_detail.id_produit"

    Genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    distinct(commandes_detail.id_produit)

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 141
    Par défaut
    Bonjour,
    Dans votre requête sql , le distinct est manquant sinon la requête devrait marcher.

Discussions similaires

  1. [CR XI] fusionner les lignes en une seule ligne
    Par SophieTaureau dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 07/06/2012, 06h41
  2. Réponses: 2
    Dernier message: 23/04/2012, 14h19
  3. Regrouper données de deux lignes sur une seule
    Par flacdo dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/04/2012, 10h23
  4. Récupérer deux lignes dans une seule
    Par Invité dans le forum Requêtes
    Réponses: 7
    Dernier message: 24/11/2011, 16h15
  5. fusionner plusieurs lignes en une seule
    Par assiya dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/02/2011, 13h36

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