login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gemiddelde berekenen (Opgelost)

Offline DMM - 29/04/2007 20:54 (laatste wijziging 29/04/2007 20:56)
Avatar van DMMPHP beginner Hallo,

Momenteel ben ik bezig met het schrijven van een stemsysteem.
Graag zou ik daarbij het gemiddelde berekenen.
Even een voorbeeld ter verduidelijking:
Op elke tutorial kun je stemmen. Hier gebruik ik twee tabellen voor:
- Eén waarin de tutorial zelf geschreven staat.
- Een andere waarin de stem van de gebruiker staat (een getal van 1 t.e.m. 5) en de verwijzing naar desbetreffende tutorial. Een voorbeeld:

------------------
| TUT.|| STEM |
------------------
| 1|| 4|
| 1|| 3|
| 1|| 5|
| 2|| 1|
| 2|| 4|
| 3|| 5|
| 4|| 2|
| 4|| 3|
-----------------

Nu zou ik dus graag het gemiddelde van de stemmen per tutorial berekenen:
Er zijn drie resultaten met TUT. 1. De STEM daarbij zijn 4 - 3 - 5.
( 4 + 3 + 5 ) / 3 = GEMIDDELDE

Deze stap moet ook bij 2,3,4,... herhaald worden.

Wat mij hier nu moeilijk lijkt, is dat ik niet elke TUT. afzonderlijk en handmatig uit de database wil halen:
  1. <?php
  2. $query = "SELECT * FROM stemsysteem WHERE tut = 1";
  3. $result = mysql_query($result);
  4.  
  5. $query = "SELECT * FROM stemsysteem WHERE tut = 2";
  6. $result = mysql_query($result);
  7. // Enzovoort //
  8.  
  9. ?>


Weten jullie hoe ik dit proces zou kunnen automatiseren?

Alvast bedankt

Met vriendelijke groeten,
David Roelandt

6 antwoorden

Gesponsorde links
Offline riekele - 29/04/2007 20:58 (laatste wijziging 30/04/2007 16:38)
Avatar van riekele PHP beginner
  1. $query = "SELECT AVG(stem) as avg, tut FROM stemsysteem GROUP BY tut"
  2. while($result = mysql_fetch_assoc($query))
  3. {
  4. echo $result['tut'].' - '.$result['avg'];
  5. }


zoiets moet geloof ik wel werken
Offline bosgroen - 29/04/2007 21:02
Avatar van bosgroen Gouden medaille

PHP interesse
SELECT AVG(stem) FROM stemsysteem GROUP BY tut

zoiets
Offline CDNC - 29/04/2007 21:20 (laatste wijziging 29/04/2007 21:21)
Avatar van CDNC PHP ver gevorderde als je in de table waar je je stemmen wil opslaan enkel het ID en de STEM wil opslaan kun je beter het volgende doen:
TABEL
  1. tutID | gem | stemmen


en als je dan een stem wil toevoegen:
het gemiddelde is al uitgerekt als je dan een nieuwe wil bijvoegen:
  1. (gem * stemmen + nieuweStem) / (stemmen + 1)


als je dan het gemiddelde wil tonen haal je gewoon GEM op
Offline DMM - 29/04/2007 21:31
Avatar van DMM PHP beginner Bedankt!
Offline riekele - 30/04/2007 16:42
Avatar van riekele PHP beginner CDNC, dat kan je beter niet doen, dan heb je totaal geen zicht op het stemgedrag van je bezoekers. daarnaast is het gemiddelde een procesgegeven, en hoor je die er bij het normaliseren (geloof de 1NV) eruit te halen.
Offline OB82 - 13/08/2008 18:17
Avatar van OB82 Nieuw lid Beste mensen,
ik wil paar waardes uit de db halen en die met elkaar optellen of vermenigvuldigen, maar het gaat niet.

ik heb een colom waar in de prijzen staan en een colom waarin de het aantal staat. Ik wil nu de prijzen van een product die opgenomen is in de db vermenigvuldigen met het aantal dat ook opgenomen is in het db.

Ik kan elke waarde uitzonderlijk weergeven in de site, maar ik kan ze niet optellen of ...

bijvoorbeeld:

$prijs = $_get['price'];
$prijs = $_post['prijs'];
$vk = 7.99;

$newprice = $prijs * $aantal; dit werkt niet
of
$total = $newprice + $vk; en dit ook niet

Dank,
OB
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.192s