Calcul en PHP sur des enregistrements dans table

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 16:51

Reprend mon code, je viens de le modifier et il va t'afficher tout les types, leur nombre et leur somme !!!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

16 mai 2005, 17:05

Merci bcp Zeus ton code marche bien maintenant.

Mais j'ai toujours du mal a comprendre comment faire la différence entre les différents types!

Regarde le tableau que j'obtiens :

Downtime type------------------Number

Maintenance Building-----------Type : Maintenance Building
-------------------------------------Nombre d'occurence : 1
-------------------------------------Somme des occurences : 20
-------------------------------------Type : Monthly Maintenance
-------------------------------------Nombre d'occurence : 2
-------------------------------------Somme des occurences : 30

Monthly Maintenance----------Type : Maintenance Building
------------------------------------Nombre d'occurence : 1
------------------------------------Somme des occurences : 20
------------------------------------Type : Monthly Maintenance
------------------------------------Nombre d'occurence : 2
------------------------------------Somme des occurences : 30

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 17:12

le group by te permet de séparer tes enregistrements comme si tu faisait 3 requetes

Code : Tout sélectionner

SELECT type, COUNT(*), SUM(temp) FROM table WHERE type LIKE "type1" SELECT type, COUNT(*), SUM(temp) FROM table WHERE type LIKE "type2" SELECT type, COUNT(*), SUM(temp) FROM table WHERE type LIKE "type3"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

16 mai 2005, 17:23

Merci bcp!

Je connaissais pas LIKE.

Mais maintenant j'ai cette erreur sur le while :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 17:33

Tu as changé quoi ?

Ce message d'erreur veut dire que ta requete n'est plus valide !!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

16 mai 2005, 17:37

J'avais ca :
$str_requete = "SELECT type, SUM(sla) as somme, COUNT(type) as nombre FROM sla GROUP BY type"; 
Et j'ai remplacé par ca :
$str_requete = "SELECT type, SUM(sla) as somme, COUNT(type) as nombre FROM sla WHERE type LIKE 'Maintenance Building'";
Et meme ca :
$str_requete = "SELECT type, SUM(sla) as somme, COUNT(type) as nombre FROM sla GROUP BY type WHERE type LIKE 'Maintenance Building'";
Mais j'ai tjs la meme erreur...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2005, 17:40

1erement : pourquoi tu utilise plus le GROUP BY ?

2emement : après un GROUP BY, il faut utiliser HAVING et non plus WHERE

3emement : tu ne peut utiliser SUM() si tu n'utilise pas GROUP BY

Jete un coup d'oeil ==> ICI <==
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 335 Messages

16 mai 2005, 17:46

Si je l'utilisai encore le group by (3eme requete de mon precedent post) mais je l'avais enlevé, ne sachant pas trop ou etait l'erreur j'ai essayé des trucs.

La c'est bon ca marche impec c'était l'histoire du having a la place du where.

Merci bcp pour ton aide. Jvai regarder l'altruiste.

Eléphant du PHP | 335 Messages

16 mai 2005, 17:58

Jorai une derniere question. (je sais j'abuse!)

Lorsque qu'un type n'est pas enregistrer dans ma table, je n'ai aucune valeur qui est retourné dans mon tableau.

Est-il possible d'avoir 0 qui s'affiche?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 09:27

En php, oui !!!
if ($type == "") {
  echo "0";
} else {
  $echo type;
}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer