login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ranks

Offline timo - 17/11/2007 17:29
Avatar van timoPHP ver gevorderde Ik heb 40 ranks nodig die je met punten krijgt (xx punten is rank 1, xx punten is rank 2, xx punten rank 5 etc)
hoe kan ik het aantal punten bepalen zonder dat ik uiteindelijk 40 elseif's heb, en hoe kan ik het aantal punten benodigd voor rank x het makkelijkst berekenen?

4 antwoorden

Gesponsorde links
Offline SilVeX - 17/11/2007 17:32
Avatar van SilVeX HTML beginner volgens mij moet je dan deze tutorial hebben:

Klik hier voor de tutorial
Offline Koen - 17/11/2007 17:44 (laatste wijziging 17/11/2007 18:04)
Avatar van Koen PHP expert Je zet alle ranks in een array en doet dan zo:
  1. <?php
  2. $ranks = array(10,30,70,100,120); // wel op volgorde zetten..
  3. $rankaid = array(10=>"rank1",30=>"rank2",70=>"rank3",100=>"rank4",120=>"rank5");
  4. $points = 89;
  5. $ranks = array_reverse($ranks);
  6. foreach($ranks as $value) {
  7. if($points >= $value) {
  8. $derank = $rankaid[$value];
  9. break;
  10. }
  11. }
  12. if(!@isset($derank)) {
  13. $derank = "geen_rank";
  14. }
  15. ?>

Als je het niet begrijpt zal ik het wel uitleggen.
edit: zat foutje in
Offline timo - 17/11/2007 17:59
Avatar van timo PHP ver gevorderde ik begrijp het wel, maar het is niet helemaal wat ik bedoel:P op deze manieren moet ik toch zelf een aantal punten bedenken, ik zoek meer naar x + x % maar het moet niet te explosief toenemen..
Offline KingIsulgard - 18/11/2007 23:02 (laatste wijziging 18/11/2007 23:15)
Avatar van KingIsulgard Nieuw lid zet je punten in een array en sorteer die van laag naar hoog of van hoog naar laag en gebruik dan gwn een for lus.

Je kan het zelfs met usernames en dergelijke doen mits wat uitbreiding:
  1. <?php
  2. // De users met hun punten
  3. $users["user1"] = 10;
  4. $users["user2"] = 35;
  5. $users["user3"] = 20;
  6.  
  7.  
  8. // Sorteer ze van laag naar hoog
  9. sort($users);
  10.  
  11. // Schrijf de rankings
  12. foreach ($users as $rank => $points) {
  13. echo $rank+1 . ". " . $name . " with " . $points . " points<br>\n";
  14. }
  15. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.337s