moyenne php


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

moyenne php

Message le Sam Jan 13, 2007 12:25

bonjour a tous,

existe t-il une fonction php qui calcucle la moyenne de valeur présentes dans une bdd

merci


dmathieu
Modérateur
Modérateur
 
Messages: 7245
Inscription: 9 Jan 2004

Message le Sam Jan 13, 2007 12:35

oui. Mais c'est une fonction SQL. Pas php.
Code: Tout sélectionner
SELECT avg(champ)
FROM table;

te retournera la moyenne des valeurs du champ champ.


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

Message le Sam Jan 13, 2007 13:48

merci bcp

pendant que j'y suis j'essaye de mettre de la couleur dans ce code
Code: Tout sélectionner
<?php

if ($vainqueur = 1)
{
echo $donnees['cote'] * $donnees['mise'] - $donnees['mise'];
}

else // SINON
{
echo - $donnees['mise'];
}
?>


Si oui, je voudrais que ca s'affiche en vert, si non je voudrais que ca se mette en rouge. Je bloque.

Merci

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2455
Inscription: 30 Aoû 2002

Message le Sam Jan 13, 2007 17:34

vitalizo a écrit:merci bcp

pendant que j'y suis j'essaye de mettre de la couleur dans ce code
Code: Tout sélectionner
<?php

if ($vainqueur = 1)
{
echo $donnees['cote'] * $donnees['mise'] - $donnees['mise'];
}

else // SINON
{
echo - $donnees['mise'];
}
?>


Si oui, je voudrais que ca s'affiche en vert, si non je voudrais que ca se mette en rouge. Je bloque.

Merci


Déja c'est == :wink:

Code: Tout sélectionner
<?php

if ($vainqueur == 1)
{
echo "<span style="color: green;">".$donnees['cote'] * $donnees['mise'] - $donnees['mise']."</span>";
}

else // SINON
{
echo "<span style="color: red;">".$donnees['mise']."</span>";
}
?>


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

Message le Sam Jan 13, 2007 18:44

j'ai réussi à faire autrement mais là je bloque sur un calcul

voila le code:

Code: Tout sélectionner
<?php
if ($donnees['resultat'] == "1")

echo '<b><font color="#00CC00">' . $donnees['mise'] * $donnees['cote'] - $donnees['mise'];
}

else // SINON
{
echo '</font></b>
- <b><font color="#FF0000">' .$donnees['mise'];
}
?>

Le serv n'arrive pas à me faire ce cacul:
Code: Tout sélectionner
$donnees['mise'] * $donnees['cote'] - $donnees['mise'];


en fait cela vient uniquement si je fais une soustraction ou une addition à la dernière variable. Si je fais
Code: Tout sélectionner
$donnees['mise'] * $donnees['cote'] * $donnees['mise'];

tout marche très bien.


Je pense que comme en maths quand on fait 5*5-5 (on fait 5*5 en premier et non 5-5) et que peut etre le pb vient de là

une idée?

code
WRInaute impliqué
WRInaute impliqué
 
Messages: 648
Inscription: 29 Juil 2005

Message le Sam Jan 13, 2007 18:57

ET si tu décomposes ton opération en 2. Si je comprends bien tu veux faire ça : a x (b - a) ??

Je ne suis pas spécialiste des opérations avec mysql mais si tu fais :

$xxx = "$donnees['cote'] - $donnees['mise']";

$yyy = "$donnees['mise'] * $xxx";


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

Message le Sam Jan 13, 2007 19:08

je souhaiterais plutot faire ($donnees['mise'] * $donnees['cote']) - $donnees['mise'];

j'ai mit des parenthéses pour indiquer ce que je veux faire en premier.

J'ai testé ton truc en mettant ceci :
$xxx = "$donnees['cote'] * $donnees['mise']";
$yyy = "$xxx - $donnees['mise']";

cela m'a mis "Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/22/d149842602/htdocs/test2.php on line 47"

code
WRInaute impliqué
WRInaute impliqué
 
Messages: 648
Inscription: 29 Juil 2005

Message le Sam Jan 13, 2007 19:17

Je crois que c'est un probleme de quote


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

Message le Sam Jan 13, 2007 19:38

c'est à dire je débute en php :-o)

zeb
WRInaute accro
WRInaute accro
 
Messages: 3277
Inscription: 5 Déc 2004

Message le Sam Jan 13, 2007 20:22

echo "<span style=\"color: green;\">".(($donnees['cote'] * ($donnees['mise'] - $donnees['mise']))."</span>";

code
WRInaute impliqué
WRInaute impliqué
 
Messages: 648
Inscription: 29 Juil 2005

Message le Sam Jan 13, 2007 20:26

Je viens de tester ça :

$a = "10";
$b = "5";
$c = $a*$b;
$resultat = $c-$a;

echo "$resultat";

>> on obtient bien 40

Donc dans ton cas, je te propose :

$a = $donnees['mise'];
$b = $donnees['cote'];
$c = $a*$b;
$resultat = $c-$a;

Par ailleurs je ne suis pas sûr que le quote (apostrophe) ne pose pas un probleme c'est pour ça que je te propose de ne retenir que des variables simples.
Et pardon pour l'erreur de tout à l'heure (les guillemets n'étaient pas requis puisque tu veux que le calcul s'effectue et non afficher le calcul en lui-même)

Voilà, il y a certainement mieux, mais je pense que ça devrait marcher


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

Message le Sam Jan 13, 2007 20:37

Ben c'est parfait je te remercie beaucoup :-o).


Sinon mnt j'en suis à faire une moyenne arrondi de données.
J'ai cru voir qu'il fallait utiliser la fonction round ()
mais voila je ne sais pas koi mettre dans ()

<?php $data = mysql_query("SELECT round () avg(mise) AS moyenne FROM pronostics");
$donnees = mysql_fetch_array($data);
echo $donnees['moyenne']; ?>

Je pense que ca se presente comme ca mais que mettre en (), j'essaye plusieurs trucs mais rien.

merci

code
WRInaute impliqué
WRInaute impliqué
 
Messages: 648
Inscription: 29 Juil 2005

Message le Sam Jan 13, 2007 20:58

ça ne serait pas plutôt un truc de ce genre :

.... SELECT ROUND(AVG(mise)) .... que tu devrais faire ?


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

Message le Sam Jan 13, 2007 21:33

c'est bon merci pour toute ton aide :)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités