Aller au contenu

VansFoxy

Actif
  • Compteur de contenus

    20
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Avec un peu de retard, merci beaucoup. Je n'ai pas encore eu l'occasion de tester, je verrai ce que ça donne. Merci encore
  2. Bonjour, je ne m'en sors pas avec cette erreur "resource id..." Mon code actuel est : $sql_pas_plein = mysql_query("select id from conso where mois=$nb_mois_km_bas AND plein=1 ORDER BY id DESC limit 0 , 1") or die(mysql_error()); $pas_plein = mysql_fetch_array($sql_pas_plein); $nb_pas_plein = mysql_query("select sum(litres) from conso where mois='$nb_mois_km_bas' and plein = '2' and id > '".$pas_plein["id"]."' ") or die(mysql_error()); echo "$nb_pas_plein<br>"; Je vous laisse un screen de ce que ça m'affiche :
  3. J'ai bien fait comme tu as dit, mais ça m'affiche "Resource id #21" . Je pense que c'est quand le résultat est négatif, ça affiche ça non ? Faut que je trouve un moyen de résoudre ça
  4. Ah oui super c'est exactement ce qu'il me fallait. C'est vrai que c'est assez simple maintenant que tu las fait, j'ai pas encore l'habitude des sum. Merci bien
  5. VansFoxy

    Souci avec un select

    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. 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"; } }
  6. Bon et bien problème résolu, j'ai mis 10,2 en valeur. Merci à vous de votre aide Bonne journée
  7. Dons si je mets 2 en taille/valeur ça me met un message d'erreur "out of range...."
  8. Je n'ai pas de float 2 uniquement float dans type de ma colone. J'ai taille/valeur, défaut, interclassement, attribut, null, type mime
  9. En clair je dois mettre ou dans phpmyadmin ce 2 ? Je suis pas super fort j'ai un peu de mal a suivre tout ce que vous dites
  10. j'ai tjr cette affichage super long après la virgule. quand tu dis float 2 c'est sa valeur ?
  11. Alors j'ai bien mis float, et 642.62 ça me sort ça quand j'affiche le nombre de litre sur ma page 642.6199951171875
  12. Ah zut ! c'est sous forme de text, je dois mettre lequel ?
  13. Ah mince, juste un dernier détail, quand je fais un sum de mes litres, il ne me prend pas en compte tout ce qui est après la virgule. Donc ma moyenne est faussée. Pour rappel mon code ressemble à ça : $sql = mysql_query ("SELECT sum(litres) FROM (SELECT litres FROM conso WHERE mois=11 ORDER BY id ASC LIMIT 1,1000000)s"); $somme = mysql_result ($sql,0); echo "$somme"."L<br>"; J'ai dans ma table, une valeur de 642,62L, et quand je fais le echo $somme ça m'affiche une valeur de 642
  14. Super, on y est arrivé ! Merci beaucoup de ton aide A bientôt
  15. C'est vraiment bizarre, voilà ce que me sort la sous requète : Je laisse un imprim écran de ma table conso, ça te parlera sûrement plus : Vois tu où est le souci, pour faire un sum de mes litres, sans prendre la première ligne de ma table avec le limit ? Merci
×
×
  • Créer...