Php Mysql Limit Kullanımı

Bu yazımızda Php ve Mysql ile sorgulara limit eklemeyi göreceğiz.

Limit komutu ile çekmek istediğimiz veri sayısını sınırlandırabiliriz.

LIMIT deyimi, SQL ile çok sayfalı sonuçları veya sayfalandırmayı kodlamayı kolaylaştırır ve büyük tablolarda çok kullanışlıdır. Çok sayıda kaydın döndürülmesi performansı etkileyebilir.

Temel sözdizimi şu şekildedir.

$sql = "SELECT * FROM users LIMIT 30";

Bunu bir örnek üzerinden pekiştirelim. Ben Kullanıcılar adında bir tablo oluşturdum ve içerisine 5 değer ekledim. Ve biz pdo kullanarak bu verilerden sadece 3 tanesinin gelmesini sağlayalım.

Tablomuz:

index.php dosyamız

<?php
try {
     $db = new PDO("mysql:host=localhost;dbname=egitim""root""");
} catch ( PDOException $e ){
     print $e->getMessage();
}
$query = $db->query("SELECT * FROM users LIMIT 3", PDO::FETCH_ASSOC); 
if ($query->rowCount()){
     foreach( $query as $row ){
          echo $row['ad_soyad']."-". $row['yas']."<br>";
     }
}
?>

Bu kodu çalıştırdığımızda ekranda şu sonuç çıkacaktır.

Zafer Yıldız-16
Sarenur Ocaktan-21
Alper Ocaktan-16

Tabloya baktığımızda 5 veri var ama biz query metoduna limit değeri tanımladığımız için 3 adet değer getirdi.

Mysql Offset Nedir ?

Yukarıdaki kod parçası baştan 3 kaydı getiriyor. Peki 1 ile 4 arası verileri getirmek isteseydik napardık ? İşte burada offset kavramı devreye giriyor. Sql komutlarına eklediğimiz offset ve limit komutları ile nereden başlayıp ne kadar veri çekeceğimizi bildirebiliriz. Gelin 1 ve 4 arasındaki verileri çekelim. Bunun için şöyle yapıyoruz. Offset değerine 1 limit değerine 3 veriyoruz. Böylelikle 1. değeri atlayıp bize 3 değer getiriyor.

<?php
try {
     $db = new PDO("mysql:host=localhost;dbname=egitim""root""");
} catch ( PDOException $e ){
     print $e->getMessage();
}


$query = $db->query("SELECT * FROM users LIMIT 3 OFFSET 1", PDO::FETCH_ASSOC); 
if ($query->rowCount()){
     foreach( $query as $row ){
          echo $row['ad_soyad']."-". $row['yas']."<br>";
     }
}
?>

Bu kodun çıktısı da şu şekilde olacaktır.

Sarenur Ocaktan-21
Alper Ocaktan-16
Bahar Ocaktan-4
Sedanur Yıldız-22

YAZAR HAKKINDA

26 Yaşında. Araştırmayı seven, bir şeyler öğretmeye meraklı bir Bilgisayar Mühendisi

0 YORUM

Bu konuya henüz yorum yapılmamış

Yorum Yap

@COPYRIGHT KodlamakLazım Tüm Hakları Saklıdır.