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 :

Moyenne Pondéré CUMULE SQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut Moyenne Pondéré CUMULE SQL
    Bonjour , voici un echo de ma table sql :


    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
    54
    55
    <?php
    	  connectMaBase();
                if(isset($_POST['accepter']))
    {
              $sql = 'SELECT Date,Societe,Etat,PrixUnitaire,Quantite,Solde FROM `stockage` WHERE Produit="'.$produits.'"';
     
     
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
                   $total=mysql_num_rows($req);         
       if($total) {
     
       echo'<table border="1" align="center" style="text-align: left; width: 674px; height: 88px;">'."\n";
       echo'<tr>';
       echo'<td bgcolor="#CCCCCC"><b>Date</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Société</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Etat</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>PrixUnitaire</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Quantité</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Total</b></td>';
       echo'</tr>'."\n";
     
                while($data = mysql_fetch_array($req)){
     
    	if($data['Etat']=="Vente")
    {
    			echo'<tr>';  
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Date'].'</span></td>';     
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Societe'].'</span></td>'; 
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Etat'].'</span></td>';
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['PrixUnitaire'].'</span></td>'; 
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Quantite'].'</span></td>';   
      			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Solde'].'</span></td>';
    			echo'</tr>'."\n";
     
    	}
    	else
     
    	{
    			echo'<tr>'; 
                echo'<td bgcolor="#669999">'.$data['Date'].'</td>';     
    			echo'<td bgcolor="#669999">'.$data['Societe'].'</td>'; 
    			echo'<td bgcolor="#669999">'.$data['Etat'].'</td>';
    			echo'<td bgcolor="#669999">'.$data['PrixUnitaire'].'</td>'; 
    			echo'<td bgcolor="#669999">'.$data['Quantite'].'</td>';   
      			echo'<td bgcolor="#669999">'.$data['Solde'].'</td>';
    			echo'</tr>'."\n";
                }
    			}
    			echo'</table>'."\n";
    	}
                mysql_free_result ($req); 		
    	          mysql_close ();     
    	}	
     
            ?>
    Le total de la Quantité est correcte (Achat-Vente)

    Le total de la solde est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql= 'SELECT SUM(Solde) as Solde FROM `stockage` WHERE Produit="'.$produits.'" && Etat="achat"';
    Le boutton moyenne divise le total Solde / total Quantité ; mais cela reste une moyenne basique .

    Le calcul que je voudrais faire est :

    25-12=13 ;
    13 x 52 500= 682 500;
    2 x 50 000= 100 000;
    13+2=15;
    682 500+100 000=782 500;
    782 500/15= 52 166;
    ____________________________________________

    15-10=5;
    30 x 55 500= 1 665 000;
    1 665 000+52 166 = 1 717 166;
    30 + 5=35;
    1 717 166 / 35 = 49 061;

    __________________________________________________

    Est ce que quelqu'un pourrait me donner un petit coup de main merci .

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    voila ce que je te propose:

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <?php
    	  connectMaBase();
                if(isset($_POST['accepter']))
    {
              $sql = 'SELECT Date,Societe,Etat,PrixUnitaire,Quantite,Solde FROM `stockage` WHERE Produit="'.$produits.'"';
     
     
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
                   $total=mysql_num_rows($req);         
       if($total) {
     
       echo'<table border="1" align="center" style="text-align: left; width: 674px; height: 88px;">'."\n";
       echo'<tr>';
       echo'<td bgcolor="#CCCCCC"><b>Date</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Société</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Etat</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>PrixUnitaire</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Quantité</b></td>';
       echo'<td bgcolor="#CCCCCC"><b>Total</b></td>';
       echo'</tr>'."\n";
     
                while($data = mysql_fetch_array($req)){
     $operationCalcul=0;
     $operationCalcul1=0;
     $prixUni=0;
     $res1=0;
     $res2=0;
     $res3=0;
    	if($data['Etat']=="Vente")
    {
    			$operationCalcul1=$operationCalcul-$data['Quantite'];
    			$operationCalcul=0;
    			if($res1==0)
    				$res1=$operationCalcul1*$prixUni;
    			echo'<tr>';  
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Date'].'</span></td>';     
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Societe'].'</span></td>'; 
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Etat'].'</span></td>';
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['PrixUnitaire'].'</span></td>'; 
    			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Quantite'].'</span></td>';   
      			echo'<td bgcolor="#669999"><span style="color: rgb(255, 255, 255);">'.$data['Solde'].'</span></td>';
    			echo'</tr>'."\n";
     
    	}
    	else
     
    	{
     
    			$operationCalcul=$operationCalcul+$data['Quantite'];
    			$prixUni=$data['PrixUnitaire'];
    			if($res1>0)
    			{
    				$res2=$operationCalcul*$prixUni;
    				$operationCalcul=$operationCalcul1+$operationCalcul;
    				if($res3!=0)
    				{
    					$res3=$res3+$res2;
    				}
    				else 
    				{
    					$res3=$res1+$res2;
    				}
     
    				$res3=$res3/$operationCalcul;
     
    			}
    			echo'<tr>'; 
                echo'<td bgcolor="#669999">'.$data['Date'].'</td>';     
    			echo'<td bgcolor="#669999">'.$data['Societe'].'</td>'; 
    			echo'<td bgcolor="#669999">'.$data['Etat'].'</td>';
    			echo'<td bgcolor="#669999">'.$data['PrixUnitaire'].'</td>'; 
    			echo'<td bgcolor="#669999">'.$data['Quantite'].'</td>';   
      			echo'<td bgcolor="#669999">'.$data['Solde'].'</td>';
    			echo'</tr>'."\n";
                }
    			}
    			echo'</table>'."\n";
    	}
                mysql_free_result ($req); 		
    	          mysql_close ();     
    	}	
     
            ?>
    Malheureusement je n'ai pas fait de test mais je pense, à 80%, que cela marche. (j'ai fait des tests à la main désolé )

    PS: $res3 est le résultat final ^^

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Regarde ceci AVG(expr) MYSQL

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut Moyenne Pondéré CUMULE SQL
    Bonjour et merci de m'avoir répondu , désolé j'ai oublié quelque chose dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    15-10=5;
    52 166 x 5 = 260 830;
    30 x 55 500= 1 665 000;
    1 665 000+260 830= 1 925 830;
    30 + 5=35;
    1 925 830 / 35 = 55 023;
    J'ai bien essayé Retrokiller069 mais la valeur $res3 donne toujours une valeur 0.

  5. #5
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Je suis en train de me pencher sur ton problème, tu veux faire quoi exactement, car les chiffres que tu donnes ne correspondent pas toujours à ton tableaux

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Par défaut Moyenne Pondéré CUMULE SQL
    Je voulais just demander de l'aide et me guider un peu comment quelle methode je pourrais faire pour avoir le résultat qui est en rouge sachant que ma table sql est comme ça .

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/07/2006, 08h31
  2. Requête sql, moyenne pondérée
    Par ouiffi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/07/2006, 11h03
  3. URGENT : Moyenne pondéré?
    Par cquadjul dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/04/2006, 19h08
  4. Moyenne pondérée
    Par Tijee dans le forum Langage SQL
    Réponses: 7
    Dernier message: 28/01/2006, 21h13
  5. [SGBD] Pour moyenne base avec SQL ?
    Par PyRoFlo dans le forum Bases de données
    Réponses: 10
    Dernier message: 13/03/2004, 18h54

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