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 :

[SQL] Requête SQL : obtenir un total


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
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut [SQL] Requête SQL : obtenir un total
    Bonjour,

    sous le code suivant, j'aimerais obtenir le total genre SUM(Stock.Quantity), mais j'obtiens une erreur si je le fait.. quelqu'un peut-il me dire quoi mettre ? Merci d'avance !



    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?
    include ("connexion_stock.php");
    ?>
    <html>
    <head>
    </head>
    <body>
    <?
    $sqlconnect=odbc_connect($dsn,$username,$password);
    $sqlquery="SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S' 
    Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality order by Products.ProductName, Products.Type;" or die (mysql_error()); 
    $process=odbc_exec($sqlconnect, $sqlquery);
    ?>
    <html>
    <head>
    <title>Etat du Stock</title>
    <link href="../resolutions/style.css" rel="stylesheet" type="text/css">
    </head>
     
    <body>
    <p align="center"><b><font face="Arial" size="5">Eurosource Stock Report</font></b></p>
    <p> </p>
    <p> </p>
    <p> </p>
    <p> </p>
    <p> </p>
    <table width="90%" border="0" align="center" cellpadding="1" cellspacing="1">
      <tr class="tab04"> 
        <td> 
          <div align="center">ProductName</div></td>
        <td> 
          <div align="center">ProductDesc</div></td>
        <td> 
          <div align="center">Quality</div></td>
        <td> 
          <div align="center">Quantity</div></td>
        <td> 
          <div align="center">Type</div></td>
      </tr>
      <?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality");   ?>
      <tr class="tab05"> 
        <td><?php  echo $ProductName ; ?></td>
        <td><?php  echo $ProductDesc ; ?></td>
        <td><div align="center"><?php  echo $Quality ; ?></div></td>
        <td><div align="center"></div></td>
        <td><div align="center"><?php  echo $Type ; ?></div></td>
      </tr><?php }odbc_close($sqlconnect); ?>
    </table>
     
    </body>
    </html>
    </body>
    </html>
    Si je mets le SUM(Stock.QUantity) dans ma requête et donc ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    $sqlconnect=odbc_connect($dsn,$username,$password);
    $sqlquery="SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, SUM(Stock.Quantity) 
    FROM Products, Stock 
    where Products.ProductName=Stock.ProductName and Products.Type <> 'S' 
    Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, Stock.Quantity
    order by Products.ProductName, Products.Type ;" or die (mysql_error()); 
    $process=odbc_exec($sqlconnect, $sqlquery);
    ?>

    en rajoutant donc le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality"); $Quantity = odbc_result($process,"Quantity");  ?>
      <tr class="tab05"> 
        <td><?php  echo $ProductName ; ?></td>
        <td><?php  echo $ProductDesc ; ?></td>
        <td><div align="center"><?php  echo $Quality ; ?></div></td>
        <td><div align="center"><?php  echo $Quantity ; ?></div></td>
        <td><div align="center"><?php  echo $Type ; ?></div></td>
      </tr><?php }odbc_close($sqlconnect); ?>

    j'ai l'erreur suivante :

    Warning: odbc_result(): Field Quantity not found in c:\program files\easyphp1-8\www\eurosource-intranet\references\print_stock.php on line 43

    la ligne 43 étant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality"); $Quantity = odbc_result($process,"Quantity");  ?>

    Merci de m'aider SVP...

  2. #2
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    Quel est le type de ta donnée Quantity dans la base de données?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    bigint 8 octet
    si je ne mets pas la requête SUM, la table affiche bien la quantité mais je me vois mal présenter un table de 500 lignes au lieux de 100 à mon boss...

  4. #4
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    Est-ce que tu pourrait essayer de résumer la présentation de ton code à l'essentiel. Parce que je suis là et je cherche mais il y a beaucoup de HTML et de code non pertinent.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    Je fais la requête suivante directement dans la base SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT     S.ProductName, P.ProductDesc, S.Quality, SUM(S.Quantity) AS Qty, S.Type
    FROM         Stock S LEFT OUTER JOIN
                          Products P ON S.ProductName = P.ProductName
    WHERE     (S.Quality <> 'S')
    GROUP BY S.ProductName, P.ProductDesc, S.Quality, S.Type
    ORDER BY S.Type, S.ProductName
    et cela fonctionne, donc je pense que c'est un problème d'affichage lié à la ligne 43.

    En gros pour faire simple je voudrais afficher sur une page web dans un tableau le code ci-dessus !

  6. #6
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    Je crois que le problème vient probablement juste du fait que tu ne nomme pas correctement ta colonne lorsque tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Quantity = odbc_result($process,"Quantity");
    Je suggère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Quantity = odbc_result($process,"Qty");
    Parce que c'est ainsi que tu nomme ton champ dans ta requête SQL. Ça devrait marcher.

  7. #7
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    Ah tout à coup je ne retrouve plus ce que je croyais avoir vu. Dumoins dans ta requête ça correcpondrait à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SUM(Stock.Quantity) AS Qty

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

Discussions similaires

  1. [SQL] Requête SQL trop compliquée pour lui.
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 23/05/2006, 22h52
  2. [SQL] requêtes SQL sur plusieurs tables
    Par zahiton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/11/2005, 16h32
  3. [pb requête sql] Requête dynamique
    Par viny dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 15/09/2005, 12h31
  4. [SQL] Requête SQL
    Par Kit59 dans le forum Oracle
    Réponses: 2
    Dernier message: 29/06/2005, 18h15
  5. Réponses: 2
    Dernier message: 06/06/2005, 15h13

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