Blog Posts » General » PHP-MySQL Rank
PHP-MySQL Rank
Berikut ini adalah cara sederhana untuk mengurutkan (membuat nomor urut / rank) data MySQL dan menampilkannya dengan PHP.
Misal kita buat tabel u:
[Textarea][RAW][Download]
- CREATE TABLE u (
- user VARCHAR(50) NOT NULL,
- score BIGINT UNSIGNED NOT NULL DEFAULT '0',
- KEY score (score)
- ) ENGINE = MYISAM;
Contoh tabel:
Cara 1:
[Textarea][RAW][Download]
- $q = mysql_query("SELECT @:=@+1 rank, user FROM (SELECT @:=0) r, u ORDER BY score DESC LIMIT 5");
- while($arr = mysql_fetch_array($q)) {
- echo '#'.$arr['rank'].' '.$arr['user'].'<br />';
- }
Keterangan:
rank adalah alias dari @:=@+1 yang diambil dari tabel r atau SELECT @:=0
r adalah alias dari SELECT @:=0
Cara 2:
[Textarea][RAW][Download]
- $q = mysql_query("SELECT user FROM u ORDER BY score DESC LIMIT 5");
- for($rank=1; $rank<=5; $rank++) {
- $arr = mysql_fetch_array($q);
- echo '#'.$rank.' '.$arr['user'].'<br />';
- }
Cara 3:
[Textarea][RAW][Download]
- $q = mysql_query("SELECT user FROM u ORDER BY score DESC LIMIT 5");
- $rank = 0;
- while($arr = mysql_fetch_array($q)) {
- $rank++;
- echo '#'.$rank.' '.$arr['user'].'<br />';
- }
Ketiga contoh diatas menghasilkan:
#1 sugeng
#2 raharjo
#3 waluyo
#4 bejo
#5 slamet
Attachments: sqlrank.zip