All for Joomla All for Webmasters
Bilgisayar

Mysql Önceki – Sonraki Kayıtları Tek Sorguda Almak Previous / Next Records

Merhabalar, yazılımlarımızı yaptığımız sırada bazen farklı sorguları düşünerek işimize yarama ihtimali olmaktadır. Günümüz de bir çok kişi tarafından kullanılan PHP web programlama dilinde veri tabanı MYSQL olarak kullanılırız.

Bu yazımızda sizlere tablolarımızda bulunan önceki ve sonraki kayıtı tek seferde alabileceğimiz bir sorguyu sizlere sunacağım. Sorguya baktığımız da çok karışık gibi gelsede ufak bir göz gezdirdiğiniz de aslında basit olduğunu sizler de anlayacaksınız.

Normal şartlarda önceki ve sonraki kayıtları getirebilmek için 3 farklı sorgu işlemi yapmak zorunda kalırız. Yalnız hemen aşağıda verdiğim kodda sizlere tek seferde çıktıyı verecektir.

 

SELECT @a := 1, ( SELECT id FROM tablomuz WHERE id < @a ORDER BY id DESC LIMIT 1 ) AS prev_id,
( SELECT id FROM tablomuz WHERE id > @a ORDER BY id ASC LIMIT 1 ) AS next_id FROM tablomuz LIMIT 1

 

Yukarıda bulunan tablomuz olan kısmını kendinize göre düzenleyiniz.

Sorgumuzu bu şekilde kullandığımız zaman ‘prev_id’ ve ‘next_id’ alanlarında gelecek sonuçlar bir önceki ve sonraki kayıtları getirecektir. @a:=1 ifadesinin kullanıcının çekmek istediği kayıtın id numarası olarak seçiyoruz. Örnek verecek olursak 15 numaralı kayıt ise @a:=15 olarak yapıyoruz.

Php kodu olarak ise;

@a := ".$id."

şeklinde işleme devam edebilirsiniz.

Herkese iyi yazılımlar dilerim.

Yorumlar İçin Tıklayın

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

To Top