wmaraci reklam

Başarı puanı sıra bulma

7 Mesajlar 979 Okunma
pst.net
wmaraci reklam

sufyani sufyani WM Aracı Kullanıcı
  • Üyelik 23.11.2017
  • Yaş/Cinsiyet 53 / E
  • Meslek Grafik Tasarımcı / Coder
  • Konum İstanbul Anadolu
  • Ad Soyad S** B**
  • Mesajlar 101
  • Beğeniler 7 / 6
  • Ticaret 0, (%0)
Merhaba,

Veritabanında sayısal değeri büyükten küçüğe sayı değerini nasıl tespit ederim.

Örnek vermek gerekirse;

$db->prepare('select * from tablo where order by puan desc');

echo
'id,Ad,Puan

1,Ali,125

2,Veli,144

3,Selami,124
';
?>


Burada
Veli'yi sorguladığımızda 1. sırada,
Ali'yi sorguladığımızda 2. sırada,
Selami'yi sorguladığımızda ise, 3. sıra olduğunu bulmam gerekiyor.

Yardımlarınız için teşekkür ederim.
 

 

wmaraci
reklam

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 22 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
Tablo:



Sorgu:

SELECT * FROM `test` ORDER BY sayi


Çıktı:

 

 

sufyani sufyani WM Aracı Kullanıcı
  • Üyelik 23.11.2017
  • Yaş/Cinsiyet 53 / E
  • Meslek Grafik Tasarımcı / Coder
  • Konum İstanbul Anadolu
  • Ad Soyad S** B**
  • Mesajlar 101
  • Beğeniler 7 / 6
  • Ticaret 0, (%0)
Sevgili capscroll,

Ben tam olarak şunu demek istedim.

id=5, sira=96.

sonucunda;

id=5'i sorguladığımda sonuç 1'i bulmalıyım.
 

 

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 22 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
Eğer yanlış anlamadıysam sadece 5 ID'li satırı sorgulayıp bunun kaçıncı sırada olduğunu öğrenmek istiyorsunuz ancak MySQL'e sıralamayı neye göre yapması gerektiğini söylemeniz lazım bunu da tüm listeyi belirli bir kurala göre(Örn. büyükten küçüğe göre) çekip ilgili ID'nin bu listede kaçıncı sırada olduğunu sorgulatarak bulabilirsiniz.

Mesela;

$user = 'root';
$pass = 'mysql';
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

//Tabloyu "sayi" sütununa göre büyükten küçüğe doğru çektik
$sorgu = 'SELECT * FROM test ORDER BY sayi DESC';
$i = 0;

//Sonuçları yazdırıyoruz
foreach($db->query($sorgu) as $sonuclar){
$i++; //Her sonuç yazılmasına sayaç bir tane artıyor yani satırın bu sıralamaya göre kaçıncı sırada olduğunu belirtiyor.
echo $sonuclar['id'] . ' numaralı kişi ' . $sonuclar["sayi"] . ' puan almıştır ve ' . $i . '. sıradadır.' . "
";
}

?>


Çıktı:

 

 

wmaraci
Mersin evden eve nakliyat

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 22 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
Ek. mesajı yarım atmışım, asıl olayı unutmuşum dalgınlığıma gelmiş kusura bakmayın :)


$user = "root";
$pass = "mysql";
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

//Tabloyu "sayi" sütununa göre büyükten küçüğe doğru çektik
$sorgu = 'SELECT * FROM test ORDER BY sayi DESC';
$i = 0;
$id = 2; //Aradığımız ID

//Sonuçları yazdırıyoruz
foreach($db->query($sorgu) as $sonuclar){
$i++; //Her sonuç yazılmasına sayaç bir tane artıyor yani satırın bu sıralamaya göre kaçıncı sırada olduğunu belirtiyor.
if($sonuclar['id'] != $id){continue;} //Eğer ilgili ID aradığımız ID ile eşleşmiyorsa atla.
echo $sonuclar['id'] . ' numaralı kişi ' . $sonuclar["sayi"] . ' puan almıştır ve ' . $i . '. sıradadır.' . "
";
}

?>


Çıktı:

$id = 2 Olursa



$id = 5 Olursa

 

 

sufyani sufyani WM Aracı Kullanıcı
  • Üyelik 23.11.2017
  • Yaş/Cinsiyet 53 / E
  • Meslek Grafik Tasarımcı / Coder
  • Konum İstanbul Anadolu
  • Ad Soyad S** B**
  • Mesajlar 101
  • Beğeniler 7 / 6
  • Ticaret 0, (%0)
Süper eline, aklına sağlık varol.
capscroll

kişi bu mesajı beğendi.

capscroll capscroll WM Aracı Kullanıcı
  • Üyelik 02.08.2019
  • Yaş/Cinsiyet 22 / E
  • Meslek Öğrenci
  • Konum Kahramanmaraş
  • Ad Soyad A** K**
  • Mesajlar 164
  • Beğeniler 41 / 54
  • Ticaret 0, (%0)
İyi çalışmalar :)
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al