Count inhoud rows

  • Beste,
    Hoe kan ik het beste de inhoud van een bepaalde kolom berekenen?
    Dus als ik bv. 2 rijen heb, met een kolom die "tijd" heet, en in de ene rij 2 en in de andere rij 3 staat, hoe krijg ik dan 5 op m'n scherm?


    Ik zou het deze keer niet weten :(
    En ik heb het nodig, want wil voor me overhoor site het gemiddelde berekenen, en dan moet ik alle cijfers optellen..


    Bedankt alvast,


    Lars:O

  • Dan kan je alleen het aantal resultaten tellen:)


    Heb dit geprobeerd:
    (incl script wat ik al had!)


    Is alleen 1 probleem, het gemiddelde cijfer klopt niet...
    Ik had in de database een 1,0 9,5 10,0 8,2 9,5 8,0 8,9 staan, en ik krijg gemiddeld een 5..
    Terwijl als ik het uitreken, ik op een 7, nog wat uitkom...


    Hoe kan dit, en hoe los ik het op :(:S


    Bedankt alvast,


    Lars

  • Als het aantal cijfers 10 is.


    Moet je alles bij elkaar optellen en door 10 delen, het lijkt me dat je dat wel snapt.


    Variable $total staat er niet bij omdat je alle cijfers uit de database moet halen weet alleen niet hoe.


    PHP
    $sql        = mysql_query("SELECT * FROM `cijfers` WHERE `naam`='{$get_userdata['username']}'");
    $count      = mysql_num_rows($sql);
    
    
    $result = round($total / $count);
  • Heb nu dit:

    PHP
    $result = mysql_query("SELECT COUNT(cijfer) as cijfer FROM cijfers WHERE `naam`='{$get_userdata['username']}'") or die(mysql_error());
    $meh = mysql_fetch_assoc($result);
    $result5 = mysql_query("SELECT * FROM cijfers WHERE `naam`='{$get_userdata['username']}'");
    $count = mysql_num_rows($result5);
    $overtje = $meh['cijfer']/$count;
    $over = number_format($meh['cijfer']/$count, 1);


    Er komt 1 uit...
    M'n tabel cijfers bestaat uit:


    PHP
    CREATE TABLE IF NOT EXISTS `cijfers` (
      `id` int(11) NOT NULL auto_increment,
      `cijfer` float NOT NULL default '0',
      `weging` float NOT NULL default '0',
      `datum` int(11) NOT NULL default '0',
      `opmerking` text NOT NULL,
      `vak` int(11) NOT NULL default '0',
      `username` varchar(100) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;


    En waar staat

    PHP
    AS cijfer

    eigenlijk voor?
    Wat moet daar komen uit m'n tabel?

  • Dit is wel heel slecht. SQL is niet iets wat je moet onderschatten, je kunt er alles mee. We maken de volgende database:



    Kan een syntax fout hebben gemaakt, heb hem nog niet uitgevoerd. Vervolgens kun je nu de volgende statistische query's gebruiken, voor statistieken van test.getal.


    Het aantal rijen (Met een waarde voor getal):
    SELECT COUNT(getal) FROM test;


    Het totaal van de waardes van getal:
    SELECT SUM(getal) FROM test;


    Het gemiddelde van getal:
    SELECT AVG(getal) FROM test;


    De maximale waarde van getal in de tabel:
    SELECT MAX(getal) FROM test;


    De minimale waarde van getal in de tabel:
    SELECT MIN(getal) FROM test;

  • het gaat erom dat je die sql code gewoon even moet testen in phpmyadmin om te kijken wat hij dan weergeeft snap je?


    verder heb je in mysql gewoon functies waardoor je 1 sql gewoon kan gebruiken voor deze som.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Ja, ik gebruik al float(10,1)
    Maar, dan werkt AVG(cijfer); niet...

    Nieuwe reactie samengevoegd met originele reactie op 07.01.10 13:26:30:
    Dit is het stukje script nu:

    PHP
    $result5 = mysql_query("SELECT AVG(cijfer) FROM cijfers WHERE `naam`='{$get_userdata['username']}'");
    $count = mysql_fetch_object($result5);


    In de database staat:

    PHP
    cijfer float(10,1)


    En de volgende cijfers:
    1.0, 10.0, 10.0, 8.0, 10.0, 8.0, 9.0


    Onder de naam admin, waaronder ik ook ingelogd ben.
    En nog krijg ik als (afgerond cijfer) 0.0.


    Wat doe ik dan fout?

    Nieuwe reactie samengevoegd met originele reactie op 07.01.10 13:49:38:
    Ik krijg btw. wel deze warning:

    PHP
    Notice: Undefined property: stdClass::$cijfer in /usr/home/larsisgoed9/domains/pretpark-online.nl/public_html/school/resultaten.php on line 45


    En die valt op de lijn waar dit instaat:

    PHP
    $overtje = $count->cijfer;


    How can i solve it :)

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!