Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2246 connectés 

 


Dernière réponse
Sujet : [PHP] [mySQL] recuperation et operation pour faire une moyenne.
Sylderon >GhzMsnet: la syntaxe sous Access donnerait ce qui suit:
 
SELECT Count(Table1.id) AS nb, Sum(IIf([metre]=50,1,0)) AS SOMETRE50, Sum(IIf([metre]=100,1,0)) AS SOMETRE100, [SOMETRE50]/[nb] AS MOY50, [SOMETRE100]/[nb] AS MOY100
FROM Table1;
 
Pour l'adapter à mySQL, ben ça paraît plus compliqué (faut dire que Access est très libre sur la syntaxe SQL -> aucun GROUP BY avec Sum() et Count() dans cette requete !!), mais c'est pê possible.
 
A+
 
 
A+

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Sylderon >GhzMsnet: la syntaxe sous Access donnerait ce qui suit:
 
SELECT Count(Table1.id) AS nb, Sum(IIf([metre]=50,1,0)) AS SOMETRE50, Sum(IIf([metre]=100,1,0)) AS SOMETRE100, [SOMETRE50]/[nb] AS MOY50, [SOMETRE100]/[nb] AS MOY100
FROM Table1;
 
Pour l'adapter à mySQL, ben ça paraît plus compliqué (faut dire que Access est très libre sur la syntaxe SQL -> aucun GROUP BY avec Sum() et Count() dans cette requete !!), mais c'est pê possible.
 
A+
 
 
A+
gizmo

GhzMsnet a écrit a écrit :

et pour moi, vous savez ?  




je suis pas sur qu'il existe une méthode propore pour fair ce que tu veux avec les donnée que tu donnes. Peut-etre en combinant count et group by, mais la de suite, je vois pas.

GhzMsnet et pour moi, vous savez ?
FrCo Erf, chui vraiment trop c** des fois  :D  
 
Merci bcp a vous pour votre aide :)
Sylderon Ben remet ta clause WHERE du début de topic entre FROM et GROUP BY
FrCo me revoila.
Alors en fait c ca qu'il faut ecrire :
 
$resultat = mysql_query("SELECT avg(vote) as moy,image FROM vote GROUP BY image",$connexion)
 
par contre le pb, c que je voudrai qu'il m'affiche le resultat concernant uniquement l'image concerné.
 
imaginons ca
 
id|image|note
1 |img01|  5
2 |img02|  2
3 |img01|  1
4 |img01|  4
 
les images sont affiché sur un thumbnail, et je voudrai que le resultat concernant le vote s'affiche uniquement ds le tableau ou l'image 01 est affiché en grand.
 
j'espere que vous aurez comprie ce que je veux .
Sinon, le resultat est le bon.
GhzMsnet et comment faire pour avoir le resultat que g dit au dessus ?
gizmo non, ce que tu récupère en sortie ce sont les moyennes de la valeur metre par catégorie de montagne donc si tu as
 

Code :
  1. id | metre | Montagne
  2. 1 |   50  |    A
  3. 2 |  100  |    B
  4. 3 |  100  |    A


 
pour ta requete, tu auras 75 ((50+100)/2) pour A et 100 pour B

GhzMsnet pour cette histoire de sondages
 
si g bien compris
genre cette table
 
id | mètres | montagne
1     50        x1
2     100       x2
3     50        x3
 
si je fais
select avg(metres) from table group by montagne
je v récupérer en sortie
 
66% à 50 mètres
et 33% a 100 mètres, c ca ?
gizmo bon alors remplace par ceci
 
while($list=mysql_fetch_row($resultat))  
{  
 echo "$list[0]: $list[1]\n";  
}  
 
les noms ont peut-être changé mais comme il ne marque pas de message d'erreur les résultats sont bien la.
FrCo ben rien du tout, ca me met deux petit point ca en fait ":"
gizmo ca marque quoi pour la moyenne?
FrCo c bon pour l'erreur precedante,  
par contre, pour l'affichage de la moyenne, ca marche pas. :(
FrCo Tien puisque tru es la, tu peux me dire si il y a une erreur sur ca :
 
if ( $send=="send" )
{
$ajout_sql = mysql_query("insert into $table_vote (image, vote) values ('$image', '$vote')",$connexion) or die (mysql_error());
}
 
parce qu'il me marqque :  
Something is wrong in your syntax près de '(image, vote) values ('brainstorming/Franck_03_August_2001_15_11' à la ligne 1
gizmo en effet, tu oublies qqch.
 
essaie ca:
while($list=mysql_fetch_array($resultat))
{
  echo "$list[image]: $list[vote]\n";
}
 
mais je ne sais plus si le paramètre image va s'afficher.
FrCo ben apres, je fait ca :
echo "$resultat";
 
j'oublie peut etre qque chose, ca fait pas longtps que j'en fait du php, alors je capte pas encore tout.

 

[edtdd]--Message édité par FrCo--[/edtdd]

gizmo montre moi ce que tu en fais après, j'ai l'impression que tu ne t'en sert pas correctement.
FrCo Il me marque tjrs ca : Resource id #2
gizmo ok, alors SELECT avg(vote) FROM XXXX GROUP BY image
 
et tu auras toutes les moyennes des images.
FrCo Ben ds ma base XXXXXX, g une table qui s'appelle vote, qui contient une colonne image et une colonne vote.
 
Image correspond au nom de l'image (ce qui me permet de rapellé le vote sur la bonne image)
 
Vote contient la note.
 
Je voudrai faire affichier la moyenne des Votes attribué a Image.

 

[edtdd]--Message édité par FrCo--[/edtdd]

gizmo dit moi ce que tu veux exactement et les données de ta table et j'essaye de te la construire
FrCo tu peux me marqué la ligne de commande, parce que la, je suis perdu ?  :(
gizmo ma faute, ca s'utilise pas comme ca, il faut l'utiliser avec GROUP BY
FrCo bon, la g mi ('$vote')
 
et maintenant il me marque, Resource id #2.
 
Au secourrrrrrrrrrrr, je suis perdu, comment je fait pour qu'il m'affice le resultat ? pliiiiiiiiiiize
FrCo oki, g fait ca, mais g ca comme message d'erreur :
 
Something is wrong in your syntax près de ') FROM vote where image='brainstorming/Franck_03_August_2001_15_' à la ligne 1.
 
et ma ligne de requete est comme ca :
 
$resultat = mysql_query("SELECT avg($vote) FROM vote where image='$image'",$connexion) or die (mysql_error());
echo "$resultat";
 
je vois pas l'erreur :(
gizmo non non
 
SELECT avg(variable_dont_la_moyenne_doit_etre_calculée) FROM ****** where image='$image'",$connexion
 
Et tu as direct le resultat

 

[edtdd]--Message édité par gizmo--[/edtdd]

FrCo Voila, je voudrai faire une sorte de sondage.
 
Pour ce faire g un page qui s'affiche avec ds un formulaire des notes de 1 a 5.
c note sont envoyé a la base de donné mySQL (ainsi que le nom de l'image).
pas de pb jusque la.
Maintenant, je voudrai resupéré le resultat sous forme de moyenne.
 
comment faire pour recupéré les resultat, et surtout faire l'operation pour avoir le resultat sous forme de moyenne ?
 
Je pense qu'il faut que je commence par ca :
 
$resultat_sql = mysql_query("select * from ****** where image='$image'",$connexion);
 
mais pour la suite, je sais pas.

 

[edtdd]--Message édité par FrCo--[/edtdd]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)