Score sorteren in scorelijst

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels Veer

Niels Veer

17/12/2011 07:49:29
Quote Anchor link
Hallo allemaal,

Ik heb een scorelijst van een quiz. Je kunt bij deze quiz maximaal 20 punten halen.
IK wil dat de gene met het hoogste aantal punten bovenaan staat.
Nu is mijn probleem:
Als iemand 20 punten haalt op 17-12-2011 om 08:22:23 dat staat hij op de eerste plek.
Als iemand ook 20 punten haalt op 18-12-2011 om 12:56:50 dan komt hij niet op de eerste plek.
Ik wil de dus de gene die het meest recent het hoogste aantal punten heeft gehaald op de eerste plaats hebben.

Dit is nu de query die ik gebruik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
    $aErrors
= array();
    //  Maak een verbinding met de database
    
    include('mysqlgegevens.php');
    
    //  Controleer of het gelukt is
    if ( $rLink === false ) {
      $aErrors[] = 'De database is onbereikbaar. Probeer het later opnieuw.';
    }

    else {
      //  Selecteer je database
    $bSelected = mysql_select_db( 'plantensite', $rLink );
      //  Controleer of het gelukt is
      if ( $bSelected === false ) {
        $aErrors[] = 'De database is niet geselecteerd. Probeer het later opnieuw.';
      }

      else {
        //  Construeer een opdracht voor de database
        $sQuery = "SELECT   naam
                   ,        score
                   ,        DATE_FORMAT(gehaaldop,'%e-%c-%Y') AS datum
                      ,        DATE_FORMAT(gehaaldop,'%H:%i') AS tijd
                   FROM     quiz_scorelijst
                   ORDER BY score DESC"
;
        //  Stuur de opdracht op
        $rResult = mysql_query( $sQuery, $rLink );
        //  Controleer of het gelukt is
        if ( $rResult === false ) {
          $aErrors[] = 'Het is niet gelukt de scorelijst op te halen.';
        }

        elseif ( mysql_num_rows($rResult) == 0 ) {
          $aErrors[] = 'Wees de eerste en speel de quiz zo goed dat je in de scorelijst komt';
        }
      }
    }

?>


en de lijst vind je hier:
http://www.plantennamen.info/quiz_plantennamen/quiz_scorelijst_lezen.php

Hoe kan ik hier voor zorgen?

Alvast bedankt!

n9iels
Gewijzigd op 17/12/2011 07:51:06 door Niels Veer
 
PHP hulp

PHP hulp

25/12/2024 05:35:28
 
Noppes Homeland

Noppes Homeland

17/12/2011 12:52:11
Quote Anchor link
Je sorteert nu alleen op score, dus zal je dan ook niet iets moeten doen met gehaaldop.
 
Niels Veer

Niels Veer

18/12/2011 07:44:45
Quote Anchor link
Dat werkt helaas ook niet, kijk maar in het voorbeeld.
Ik heb nu dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

        $sQuery
= "SELECT   naam
                   ,        score
                   ,        DATE_FORMAT(gehaaldop,'%e-%c-%Y') AS datum
                      ,        DATE_FORMAT(gehaaldop,'%H:%i') AS tijd
                   FROM     quiz_scorelijst
                   ORDER BY score, gehaaldop DESC"
;
        //  Stuur de opdracht op
        $rResult = mysql_query( $sQuery, $rLink );
        //  Controleer of het gelukt is
        if ( $rResult === false ) {
          $aErrors[] = 'Het is niet gelukt de nieuwsberichten op te halen.';
        }

        elseif ( mysql_num_rows($rResult) == 0 ) {
          $aErrors[] = 'Wees de eerste en schrijf een reactie in het gastenboek!';
        }

?>
 
Erwin H

Erwin H

18/12/2011 09:26:36
Quote Anchor link
ORDER BY score DESC, gehaaldop DESC


misschien....
 
Niels Veer

Niels Veer

18/12/2011 09:48:57
Quote Anchor link
Geniaal, het werkt!!!

Erg bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.