<?php
$i = 1;
foreach($db->query("SELECT id, kredi FROM users GROUP BY kredi DESC") as $veri){
if ($veri['id'] == $_GET['id']){
$sira = $i;
die();
}
$i++;
}
echo $sira;
?>biraz uyku var, bu kafayla hatalı yazmış olabilirim, group by kullanmamın sebebi aynı krediye sahip 2 kişi varsa bunları aynı sıralamada tutmak (2 tane üçüncü ya da 5 tane sekizinci gibi) bu şekilde istemezseniz order by kullanabilirsiniz. group by hakkında w3schools.com learn sql kısmından faydalanabilirsiniz.
Database'de bulunan bütün herkesi alıp saydırmak çok çok çok fazla performans kaybına sebep olur.
İlk mesajda verdiğim sayfaya bakmamışsınız sanırım
select @rownum:=@rownum+1 No, foo, bar from table, (SELECT @rownum:=0) r;
Bu query üstünden gidebilirsiniz