Page 1 sur 1

Calcul de colonne

Posté : 15 juin 2005, 22:10
par Peexy
Je ne savais aps trop ou poster ceci, mais il me semble que çq doit venir ici.

J'ai dans ma table SQl une colonne qui contien des taille en Mo, je souhaiterais les additionner et pour ça j'ai procédé de la façon suivante.
$retour2 = "SELECT taille, SUM(taille) FROM upload GROUP BY taille";
$taille = mysql_query ($retour2) or die(mysql_error());
$tailletotal = mysql_fetch_array ($taille);
Taille étant la colonne et Upload ma table.
Je désire les aficher ensutie ailleur et je met ceci:
<?php echo $tailletotal['taille']; ?>
le truc c'est que j'ai un truc qui s'affiche mais qui est de 38, qui n'a aucun rapport avec mon nombre total de Mo, ni avec mon nombre d'entrées de table (nombre ed ligne) alros ai je fais une boulette, oui je le pense mais ou ?

Re: Calcul de colonne

Posté : 15 juin 2005, 22:19
par albat
$retour2 = "SELECT sum(taille) FROM upload";
Cela suffit amplement. ;)

Posté : 15 juin 2005, 22:21
par smarties
<?php echo $tailletotal['2']; ?>
Quand tu as des COUNT, SUM, AVG ... tu dois donner le numéro de la colonne :wink:

Posté : 15 juin 2005, 22:23
par smarties
C'est un peu à coté de la plaque ce que je viens de dire mais si tu as a cause d'un GROUP BY plusieurs lignes tu devras utiliser cette méthode :wink:

Re: Calcul de colonne

Posté : 15 juin 2005, 22:23
par albat
La réponse complète :
$retour2 = "SELECT sum(taille) FROM upload";
$taille = mysql_query($retour2) or die(mysql_error());
$tailletotal = mysql_result($taille,0);
echo $tailletotal;

Posté : 15 juin 2005, 22:23
par Peexy
ok je vous remercie beaucoup
je vais tester ç adesuite

Posté : 15 juin 2005, 22:29
par Peexy
C'est parfait ça marche, le truc c'est que je n'ai aps trop compris le $taille,0

c'est le 0 que je ne calcul pas trop, que viens il faire ?

Posté : 15 juin 2005, 22:38
par albat
C'est juste un paramètre. ;)

Posté : 15 juin 2005, 22:49
par Peexy
Arf... mainetnant ce pose un autre souci, ce qeu je comtpe faire c'est calculer le tmeps au Mo, donc ça c'est bon, j'obtien un resultat, j'ai ensuite passer ce résultat en Minutes mais le prob c'est que j'ai en tout 12 chifrees, 6 devant la virgule et 6 derrière, comment enlever ceux de derrière ?

Posté : 15 juin 2005, 22:52
par Cyrano
Explore la fonction number_format()

Posté : 15 juin 2005, 22:53
par Peexy
Merci c'est parfait ça fonctionen a merveil.

Posté : 15 juin 2005, 22:59
par Cyrano
Commence alors par isoler les décimales : Tu pourrais faire quelque chose du style :
$decimales = ceil($nombre) - $nombre;
pour transformer ensuite les décimales en minute :
$minutes = $decimales/100*60
Enfin tu concatènes:
$temps = $ceil(nombre).":".$minutes;