Tableaux de calculs

Tableaux de calculs - PHP - Programmation

Marsh Posté le 24-04-2006 à 17:17:45    

Bonjour,  
c'est la première fois que je fais des calculs de données via une bdd. J'aimerai avoir votre avis sur mon code et surtout savoir comment je peux faire un sous total de mes filiales, un total de mes marques.
 
dans l'ordre concession<filiales<marque
 
Merci d'avance

Code :
  1. <?php
  2. require('fonctions.php');
  3. $conn = g_connect();
  4. $sql = " SELECT conc_lib, objcomd_valeur, comd_valvn, comd_vallogan, comd_valpart, comd_valmarch, fil_cle, fil_lib, marq_lib FROM commandes INNER JOIN concessions ON conc_cle = comd_concession INNER JOIN objectifscomd ON objcomd_concession = comd_concession INNER JOIN filiales ON conc_filiale = fil_cle INNER JOIN marques ON fil_marque = marq_cle ";
  5. $qry = pg_query($conn, $sql);
  6. ?>
  7. <table cellpadding="0" cellspacing="0" border="0" align="center" width="90%">
  8. <tr>
  9.  <td align="center">
  10.   <table align="center" border="0" bordercolor="#333399" cellpadding="0" cellspacing="0" width="100%">
  11.    <tr>
  12.     <td align="center" width="20%">&nbsp;</td>
  13.     <td align="center" width="10%" class="texte_b">Contrats</td>
  14.     <td align="center" width="35%">
  15.      <table align="center" cellpadding="0" cellspacing="0" border="0" width="100%">
  16.       <tr>
  17.        <td align="center" colspan="3" class="texte_b">Commandes VN</td>
  18.       </tr>
  19.       <tr>
  20.        <td align="center" width="33%" class="texte_b">nombre</td>
  21.        <td align="center" width="33%" class="texte_b">%contrat</td>
  22.        <td align="center" width="33%" class="texte_b">Logan</td>
  23.       </tr>
  24.      </table>
  25.     </td>
  26.     <td align="center" width="35%">
  27.      <table align="center" cellpadding="0" cellspacing="0" border="0" width="100%">
  28.       <tr>
  29.        <td align="center" colspan="3" class="texte_b">Commandes VO</td>
  30.       </tr>
  31.       <tr>
  32.        <td align="center" width="40%" class="texte_b">particuliers</td>
  33.        <td align="center" width="20%" class="texte_b">marchands</td>
  34.        <td align="center" width="20%" class="texte_b">total</td>
  35.       </tr>
  36.      </table>
  37.     </td>
  38.    </tr>
  39.    <?
  40.    while ($result = pg_fetch_assoc($qry))
  41.     {
  42.     $fil = $result['fil_cle'];
  43.    ?>
  44.    <tr>
  45.     <td align="left" width="20%" class="texte"><?=$result['conc_lib']?></td>
  46.     <td align="left" width="10%" class="texte"><?=$result['objcomd_valeur']?></td>
  47.     <td align="center" width="35%">
  48.      <table align="center" cellpadding="0" cellspacing="0" border="0" width="100%">
  49.       <tr>
  50.        <td align="center" width="33%" class="texte"><?=$result['comd_valvn']?></td>
  51.        <td align="center" width="33%" class="texte"><? echo ' '.round(($result['comd_valvn'] * 100)/$result['objcomd_valeur'], 2).' %'?></td>
  52.        <td align="center" width="33%" class="texte"><?=$result['comd_vallogan']?></td>
  53.       </tr>
  54.      </table>
  55.     </td>
  56.     <td align="center" width="35%">
  57.      <table align="center" cellpadding="0" cellspacing="0" border="0" width="100%">
  58.       <tr>
  59.        <td align="center" width="25%" class="texte"><?=$result['comd_valpart']?></td>
  60.        <td align="center" width="25%" class="texte"><? echo ' '.round(($result['comd_valpart'] * 100)/$result['objcomd_valeur'], 2).' %'?></td>
  61.        <td align="center" width="25%" class="texte"><?=$result['comd_valmarch']?></td>
  62.        <td align="center" width="25%" class="texte"><?=$result['comd_valpart'] + $result['comd_valmarch']?></td>
  63.       </tr>
  64.      </table>
  65.     </td>
  66.    </tr>
  67.    <?
  68.     }
  69.    ?>
  70.   </table>

Reply

Marsh Posté le 24-04-2006 à 17:17:45   

Reply

Marsh Posté le 24-04-2006 à 17:32:33    

...c'est du SQL
si je pigeait la structure de ta base je pourrai te répondre précisément, en gros:
 
select produit.marque, sum(produit.prix) from produit group by produit.marque;
 
idem avec un join de produit et marque, et groupé par filiales.


Message édité par nargy le 24-04-2006 à 17:35:11
Reply

Marsh Posté le 25-04-2006 à 08:55:28    

c'est bien du sql.
en fait ma base est la suivante :  
une table marque : marq_cle, marq_lib
une table filiales : fil_cle, fil_lib, fil_marque
une table concessions : conc_cle, conc_lib, conc_filiale
une table commandes avec les chiffres que j'affiche dans le tableau.
 
le code ci-dessus affiche toutes les concessions avec leurs chiffres. Je souhaite avoir un sous total par filiale et un total par marque. en fait j'aimerai classé mes concessions par filiales et par marque et ajouter une ligne sous total(filiale) et total (marque)
 
Vous comprenez?

Reply

Marsh Posté le 25-04-2006 à 09:16:03    

Tu fait pareil, avec des jointures, renseignes toi sur les jointures en sql (mot-clé <<INNER JOIN>> )
edit: sur http://mysql.org/


Message édité par nargy le 25-04-2006 à 09:16:52
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed