Kategoriler
Teknik

SQL’de Sonraki ve Önceki Satırdaki Veriyi Getirmek

Bir gönderi/blog sistemi düşünelim. Hatta WordPress’ten örnekleyebiliriz. Bazı bloglarda, bir gönderiye girdiğimizde sonraki ve önceki gönderiler için bağlantı olduğunu görürüz. Bunlar için ayrı veriler çekmemiz gerekiyor. Örnek verirken bir model dosyasında kod yazıyormuş gibi örnekleyeceğim, SQL kodundan yola çıkarak sizde geliştirebilirsiniz.

class Post extends Model
{
  public function nextPost($id)
  {
    $sql = 'SELECT * FROM posts WHERE id > ? ORDER BY id ASC LIMIT 1';
    $sth = $this->db->prepare($sql);
    $sth->execute(array($id));
    return $sth->fetch();
  }

  public function prevPost($id)
  {
    $sql = 'SELECT * FROM posts WHERE id < ? ORDER BY id DESC LIMIT 1';
    $sth = $this->db->prepare($sql);
    $sth->execute(array($id));
    return $sth->fetch();
  }
}

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir