Souci avec un select - Forums de discussion

Navigation

Accueil du forum » Base de données » Souci avec un select


Le sujet

karimSouci avec un select
Par karim, le Vendredi 07/12/2012 à 21h02'34
121 messages
Bonjour à tous,

Je viens vers vous car j'ai à nouveau un problème qui cette fois dépasse mes connaissances de très loin. Je suis en train de créer un petit module en php, avec une base de donnée pour gérer la consommation de camions. Je vais essayer d'être assez clair dans mon explication.

Tout d'abord, j'ai une colonne dans ma table qui s'appelle "plein", et si la valeur est de "1" c'est que le camion a fait un plein complet, si elle est de "2" c'est qu'il a fait qu'un complément. Pour calculer la consommation du mois en cours, j'ai besoin de récupérer des infos sur le mois d'avant, c'est à dire les kilomètres (km dans ma table), de la dernière prise de gasoil complète. Mais c'est la le hic, car c'est très facile de faire ce qui est au dessus, j'aurais besoin de sélectionner les pleins qui ne sont pas complet, s'il y en a, après le dernier plein complet du mois précédent.

J'espère que c'est assez clair pour vous. Si vous avez un petit bout de code à me suggérer, je vous en serai très reconnaissant, car là je suis bloqué.

Merci à vous d'avance.

________________
karim

Les réponses

karimPar karim, le Vendredi 07/12/2012 à 21h37'55
121 messages
Je vous poste mon code, qui fonctionne très bien, mais comme je vous disais si à partir du dernier plein du mois précédent, les litres des plein pas complet doivent être mis sur le mois d'après, et je vois pas comment faire pour les sélectionner

function calcul_conso($mois) {
    
      $req = mysql_query("select * from conso where mois=$mois ORDER BY id ASC");
      if (mysql_num_rows($req) >= 1 ) {
          
          $req_plein = mysql_query("select * from conso where mois=$mois order by id DESC limit 0 , 1");
          $plein = mysql_fetch_array($req_plein);
          if ($plein["plein"] == "1") {
              
              
              $nb_mois = $mois - 1;
              $nb_annee = date("");
              
              $req_km1 = mysql_query("select * from conso where mois=$nb_mois order by id DESC limit 0 , 1");
              $data1 = mysql_fetch_array($req_km1);
              $km_bas = $data1["km"];
              
              $req_km2 = mysql_query("select * from conso where mois=$mois order by id DESC limit 0 , 1");
              $data2 = mysql_fetch_array($req_km2);
              $km_haut = $data2["km"];
              
              $req_km = $km_haut - $km_bas;
              
              $sql = mysql_query ("SELECT sum(litres) FROM (SELECT litres FROM conso WHERE mois=$mois ORDER BY id ASC)s");
              $somme = mysql_result ($sql,0);
              $somme = str_replace(".",",",$somme);
              
              echo "$req_km"."km<br>";
              echo "$somme"."L<br>";
              $moyenne = $somme / $req_km * 100;
              $moyenne = number_format($moyenne,2);
              $moyenne = str_replace(".",",",$moyenne);
              echo "$moyenne"."L/100km";
              
          } else {
              
              echo "manque plein";
          }
      
      } else {
          
        echo "rien";
      
      }

}

________________
karim

Pages

Réponses les plus anciennes... 1 ...Réponses les plus récentes

A lire également

- Les conditions générales d'utilisation du site

Top-sites membres

Les Amis des Animaux | -671 pointsastuces blog et ciné live | -1016 pointsDark Lord Center | -1022 pointsBlogHotel - Hébergement de Blog gratuit | -1907 points

Discussions récentes dans les forums

Membres
Pseudo:
Pass: Mémoriser ?
Problème d'identificationInscription gratuite
Tribune libre
CNIL: 1098091
Connectés: 15
Google:
Publicité: Site de rencard sur internet, vous permettant de dialoguer et pourquoi pas de faire une rencontre intéressante.