robgar Skrevet 4. oktober 2004 Skrevet 4. oktober 2004 Hei, jeg tenkte litt på hvordan jeg kunne lage meg et ranking system. Kom på en ide. (Koden: Rank system) Og jeg bruker en database klasse (Database Klasse) Eksempel tabell ( 5 rader) | navn | rank | rank_verdi | id | | Lars | 1 | 200 | 1 | | Petra | 2 | 100 | 2 | | Nils | 3 | 250 | 3 | | Sara | 4 | 450 | 4 | | Hans | 5 | 25 | 5 | Det er da altså rank verdien som bestemmer hvilken rank du har. Når skriptet har kjørt, skal tabellen se slik ut: | navn | rank | rank_verdi | id | | Lars | 3 | 200 | 1 | | Petra | 4 | 100 | 2 | | Nils | 2 | 250 | 3 | | Sara | 1 | 450 | 4 | | Hans | 5 | 25 | 5 | Men slik blir det altså ikke.. De feilene jeg kan tenke på nå er: * Om du har en på rank 5 som har høyere verdi en han på rank 2, så vil ikke rank 2 forandre plass, menst rank 5 blir bare til 4. osv. * Ranken blir litt vanskelig ¨å dele ut når man legger inn i tabellen. Er det noen som hvet noen andre metoder å gjøre dette på, eller noen tips til hva jeg kan gjøre for å få dette til å virke skikkelig? Det ville jeg sutte stor pris på. På forhånd takk.
robgar Skrevet 4. oktober 2004 Forfatter Skrevet 4. oktober 2004 Tenkte litt og fant en løsning. function connect() { litt.. } $query = mysql_query("SELECT * FROM `rank_tabell` ORDER BY `rank_verdi`"); $i = "0"; while ($rad = mysql_fetch_array($query)) { $i++; $rank = $rad['rank']; if($i !== $rank) { mysql_query("UPDATE `rank_tabell` SET `rank` = '".$i."' WHERE `id` = '".$rad['id']."';"); } }
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå