Avatar billede bjering Nybegynder
19. januar 2003 - 20:06 Der er 5 kommentarer og
1 løsning

MySQL:PHP - Rank udregning.

Okay here it goes...

Jeg har en database der ser sådan ud :

  playerId int(10) unsigned NOT NULL auto_increment,
  lastName varchar(64) NOT NULL default '',
  clan int(10) unsigned NOT NULL default '0',
  kills int(11) NOT NULL default '0',
  deaths int(11) NOT NULL default '0',
  suicides int(11) NOT NULL default '0',
  skill int(11) NOT NULL default '1000',
  fullName varchar(128) default NULL,
  email varchar(128) default NULL,
  homepage varchar(128) default NULL,
  icq int(10) unsigned default NULL,
  game varchar(16) NOT NULL default '',
  hideranking int(1) unsigned NOT NULL default '0',
  PRIMARY KEY  (playerId),
  KEY clan (clan),
  KEY game (game)

okay problemet er så at ham med højeste skills får #1 næste i rækken #2 o.s.v

hvordan kan man gøre det ?

min udtræ ser sådan her ud :

$result = mysql_query("SELECT *,IFNULL(kills/deaths, '-') AS kpd FROM hlstats_players WHERE hideranking='0' AND kills >= '1' ORDER BY 'skill' DESC");

siden er her

http://www.fobia.dk/main.php?lang=da&page=stats

hvordan kan jeg få den til at vise # ved hver eneste sådan den kører pr spiller

#1
#2
#3
...

osv.
Avatar billede jakoba Nybegynder
19. januar 2003 - 20:47 #1
hvorfor behøver du at gemme værdien i din database? Kan det ikke være nok at klistre et sekvensnummer på imens du udskriver?
Avatar billede bjering Nybegynder
19. januar 2003 - 21:50 #2
jowjow jeg skal ikke gemme den i databasen, jeg skal bare have den til at udskrive numre i rækkefølge

såen ham med højst skills altid får no #1 næste i rækken #2 osv
Avatar billede bjering Nybegynder
19. januar 2003 - 21:51 #3
altså gøres fra php ikke mysql..

der må ikke skulle ændres i databasen! det er vigtigst
Avatar billede jakoba Nybegynder
19. januar 2003 - 22:21 #4
så behøver du ikke andet end en simpel ORDER BY i din sql kommando

$sql_kommando = "
    SELECT *
    FROM tabellensNavn
    ORDER BY skill DESC
";
$udtrek = mysql_query( $sql_kommando ) or die( mysql_error() );

$nummer = 0;
while( $row = mysql_fetch_array( $udtrek ) ) {
    $nummer++;        // tæl nummeret en op for hver række
    echo "<br>#" .$nummer ." - ";
    // skriv data fra arrayet $row
}

mvh JakobA
Avatar billede jakoba Nybegynder
19. januar 2003 - 22:22 #5
Ups. skulle ikke have været et svar. det er et 15point spørgsmål. læg selv et svar og behold resten.
Avatar billede bjering Nybegynder
19. januar 2003 - 23:21 #6
det virker bare, og jeg havde afsat 200 points til det.
mente det var sværere, men jeg ville nok have kløjs i det alligevel.

tak ^^; du har fortjent dem om du vil eller ej :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester