Gemiddelde berekenen met weging.

  • Beste CP'ers,


    Voor m'n school moest ik een overhoor script schrijven. (hier heb ik al vaker wat over gevraagd)
    Dit is me nu helemaal gelukt.
    Je kan nu bij een toets aanmaken de weging instellen (bv. 1, dus dan staat er 1 cijfer en bij 5 staan er 5 cijfers etc.)
    Maar, hoe kan ik nu het gemakkelijkst daarmee het gemiddelde berekenen?


    Ik heb nu onderstaand script voor het gemiddelde, maar dit gaat gewoon via MySQL, en daar kan ik dus nog geen weging instellen, terwijl ik dit wel wil.



    Hoe krijg ik dit het kortst goed voor elkaar?
    Hoop dat jullie het weten!


    Lars Groot

  • [offtopic]Ok vraag, welke school zit je?
    En welk jaar?


    Want ik zit op een webmaster opleiding in rotterdam.
    En krijg bijv ook van die opdrachten wat ik moet maken ;)
    [/offtopic]


    Ik heb je script ietsje korter gemaakt en makkelijker.
    Verder laat ik het nu aan iemand anders over om het nog korter te krijgen.



    Volgens mij is het trouwens ook iets netter als je met een foreach gaat werken om alles uit te lezen, of heb ik het mis?


    Ik ben me aan het vervelen, dus zit nu je code goed door te nemen.
    Dit is al een verbetering! En je hebt een grote fout gemaakt met je num_format, weet ik wel zeker.


    Dus ik wil graag jou standaardwaarde zien die jij mee geeft in je database ? Geef je 0.0 mee of 0,0 ?


    Dit is de aangepaste:

    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

  • *gaat in op 'uitdaging' van NielsB*



    Het is korter wanneer je die query weer op een regel neer zet, maar minder overzichtelijk.
    Verder heb ik er wat dingen in verwerkt die je op phpfreakz ook al zijn verteld.

  • Ik geef toe je hebt jezelf weer lopen uitsloven.
    Respect DOS! (L)


    Maar die van mij is toch wat korter aangezien jij een grote query hebt :D!


    Lars ik hoop dat je hier nog wat aan hebt ;)
    Als je meer van die opdrachten hebt (A), dan hoor ik het graag :P

    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

  • Dankjullie wel, het is me gelukt ;)


    Ik heb net een MySQL5 & PHP 5 boek van de bieb geleend, ga die dus ff leren :)


    Bedankt!


    Lars

    Nieuwe reactie samengevoegd met originele reactie op 06.03.10 22:38:07:
    Ik heb nog een vraagje:
    Hoe kan ik het beste beveiligen tegen XSS / JavaScripts? Ik heb het nu over de inputs, dus welke PHP functie kan ik hier het beste voor gebruiken? Ik dacht zelf aan htmlentities();, of toch beter htmlspecialchars();?


    Hope you know!


    Lars Groot

  • Die case heeft dos gedaan om het leuker te maken ;)
    Je hebt die case helemala niet nodig eigenlijk, als je gewoon doet order by vak ASC


    verder , htmlspecialchars is daar goed voor, maar ik denk dat daar iemand anders beter op in kan springen.

    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

  • Naar mijn weten is htmlspecialchars() voldoende inderdaad, maar dat kan je beter pas gebruiken als je het uit de database haalt.


    Als je iets in de database doet kan je naar mijn weten het beste mysql_real_escape_string() gebruiken. Dit is voor strings.


    Met getallen kan je het beste eerst controleren of het een getal is door middel van ctype_digit(), daarna kan je er eventueel nog (int) voor zetten. Zelf zet ik dit er niet voor omdat ik het dubbel op vindt.


    Dit zijn de dingen die ik gebruik, verbeter alsjeblieft als ik iets fout zeg!

Participate now!

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