login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Vergelijken en kijken wie meeste heeft

Offline roelh - 20/03/2008 20:25
Avatar van roelhPHP gevorderde Heey allemaal,

Ik wil graag tussen drie personen vergelijken velden vergelijken.
Nu wil ik kijken wie van de 3 de meeste goals heeft gemaakt.
Moet ik dan een aantal if/else aanmaken alleen voor de goals?
Dit heb ik nu dan:

  1. if($rowr['goals'] > $rowj['goals'])
  2. {
  3. echo "Roel heeft de meeste goals";
  4. }
  5. if($rowj['goals'] > $rowm['goals'])
  6. {
  7. echo "Jelle heeft de meeste goals";
  8. }


Alleen dan krijg je 2 regels van wie de meeste goals heeft.
Is dit op te lossen in 1 if/else? Of moet je er iets anders voor gebruiken dan?

9 antwoorden

Gesponsorde links
Offline Stefan14 - 20/03/2008 20:30
Avatar van Stefan14 PHP gevorderde wat dacht je van een query?
  1. <?php
  2. $query = "SELECT naam FROM users ORDER BY goals DESC LIMIT 1";
  3. $result = mysql_query($query) or die (mysql_error());
  4. $naam = mysql_result($result,'naam');
  5. ?>
Offline roelh - 20/03/2008 20:52
Avatar van roelh PHP gevorderde Hmm ik heb al een query die per persoon opteld hoeveel doelpunten iemand in het seizoen heeft.
Alleen nu moet ik vergelijken wie de meeste doelpunten heeft en dan moet er een echo komen van. die heeft de meeste doelpunten...
Offline Stijn - 20/03/2008 20:58
Avatar van Stijn PHP expert Een simpel voorbeeld met 3 variabelen die elk een getal hebben.

  1. $a = 23;
  2. $b = 20;
  3. $c = 54;
  4.  
  5. if( $a > $b && $a > $c ) {
  6. echo "$a is groter dan $b en $c";
  7. } elseif( $b > $a && $b > $c ) {
  8. echo "$b is groter dan $a en $c";
  9. } else {
  10. echo "$c is groter dan $a en $b";
  11. }
Offline roelh - 20/03/2008 21:15 (laatste wijziging 20/03/2008 21:41)
Avatar van roelh PHP gevorderde Hmm ja oke, zo had ik het ook in gedachte, maar als ik dan voor elk ding zo moet doen krijg je lange code. Ik had gedacht dat iets in 1 á 2 regels zou kunnen, maar bedankt iig!

Edit:
Hoe kun je het bovenstaande het beste aanpassen als 2 of meerdere mensen samen het meeste hebben en dus niemand iets meer heeft?
Offline Martijn - 20/03/2008 22:56
Avatar van Martijn Crew PHP je neemt de code van stefan:

  1. <?php
  2. $query = "SELECT naam FROM users ORDER BY goals DESC LIMIT 10";
  3. $result = mysql_query($query) or die (mysql_error());
  4. $i=1;
  5. while($fetch=mysql_fetch_array($result)){
  6. echo"Op nummer ".$i." staat ".$fetch[0]."<br />";
  7. $i++;
  8. }//einde while
  9. ?>


de LIMIT 10 aanpassen naar hoeveel je er wilt 
Offline Stijn - 20/03/2008 23:24
Avatar van Stijn PHP expert PHP.net: gmp_cmp kan je ook gebruiken.
Offline roelh - 21/03/2008 09:14 (laatste wijziging 21/03/2008 15:18)
Avatar van roelh PHP gevorderde Dat gmp_cmp snap ik nog niet helemaal, maar dat moet ik dan maar even uitzoeken.
Die code van jouw DeviourSoul, ga ik vanmiddag uitproberen als ik wakker ben... (nachtdienst gehad)

Edit:
heb deze code maar wil niet werken, deze fout:

Fatal error: Call to undefined function gmp_cmp() in C:\UsbWebserver\Root\test.php on line 3

Iemand een idee?
Groet,

  1. <?php
  2.  
  3. $cmp1 = gmp_cmp(1234, 1000); // greater than
  4. $cmp2 = gmp_cmp(1000, 1234); // less than
  5. $cmp3 = gmp_cmp(1234, 1234); // equal to
  6.  
  7. echo $cmp1 $cmp2 $cmp3;
  8. ?>

Offline Stijn - 21/03/2008 15:29
Avatar van Stijn PHP expert Kijk of de GMP extensie is geinstalleerd. Dit kan je zien via PHP.net: phpinfo.
Offline Grayen - 21/03/2008 15:38
Avatar van Grayen PHP ver gevorderde Als je niet gebruik wilt maken van die query die stefan voorstelde, waarom maak je dan niet iets met de PHP.net: max functie?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.216s