Php MySQL Order By Kullanımı

MySQL’de “ORDER BY” komutu, sorgudan dönen sonuçların sıralamasını belirlemek için kullanılır. Örneğin, “SELECT * FROM users ORDER BY name” sorgusu, “users” tablosundaki kayıtların “name” alanına göre sıralanmasını sağlar.

“ORDER BY” komutunun iki parametresi vardır:

  • alan_adi: Hangi alana göre sıralama yapmak istediğinizi belirtir.
  • ASC/DESC: Sıralamanın yukarı yönlü (ASC) veya aşağı yönlü (DESC) olmasını belirtir.

PHP ile MySQL veritabanına bağlantı kurduktan sonra, “ORDER BY” komutunu sorgunun sonunda kullanabilirsiniz. Örnek olarak:

$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM users ORDER BY name DESC";
$result = $conn->query($sql);

Bu örnekte, “users” tablosundaki kayıtların “name” alanına göre aşağı yönlü sıralanmasını sağlar.

MySQL Veritabanından Çekilen Veriyi Sıralamak

MySQL veritabanından çekilen veriyi sıralamak için “ORDER BY” komutunu kullanabilirsiniz.

Örnek olarak, “users” tablosundan çekilen verileri “name” alanına göre sıralamak için aşağıdaki sorguyu kullanabilirsiniz:

SELECT * FROM users ORDER BY name

Bu sorgu, “users” tablosundan çekilen verileri “name” alanına göre artan sırada döndürür.

Eğer sıralamayı azalan şekilde yapmak isterseniz, “ORDER BY” komutunun sonuna “DESC” yazabilirsiniz:

SELECT * FROM users ORDER BY name DESC

Bu sorgu, “users” tablosundan çekilen verileri “name” alanına göre azalan sırada döndürür.

“ORDER BY” komutu ile birden fazla alana göre sıralama yapmak isteyebilirsiniz. Örneğin, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre sıralamak için aşağıdaki sorguyu kullanabilirsiniz:

SELECT * FROM users ORDER BY name, surname

Bu sorgu, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre artan sırada döndürür.

PDO İle ORDER BY Kullanımı

PHP’de PDO (PHP Data Objects) kullanarak MySQL veritabanından çekilen veriyi sıralamak için aşağıdaki adımları izleyebilirsiniz:

  1. Veritabanına bağlanmak için PDO nesnesini oluşturun:
$dsn = "mysql:host=$servername;dbname=$dbname";
$pdo = new PDO($dsn, $username, $password);
  1. Sıralama işlemi için SQL sorgusunu oluşturun. Örneğin, “users” tablosundan çekilen verileri “name” alanına göre sıralamak için:
$sql = "SELECT * FROM users ORDER BY name";
  1. SQL sorgusunu çalıştırmak için bir PDO nesnesi oluşturun:
$stmt = $pdo->query($sql);
  1. Sıralanmış verileri döndürmek için fetch() metodunu kullanın:
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);

Bu örnekte, “users” tablosundan çekilen veriler “name” alanına göre sıralanmıştır.

Eğer sıralamayı azalan şekilde yapmak isterseniz, “ORDER BY” komutunun sonuna “DESC” yazabilirsiniz:

$sql = "SELECT * FROM users ORDER BY name DESC";

“ORDER BY” komutu ile birden fazla alana göre sıralama yapmak isteyebilirsiniz. Örneğin, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre sıralamak için:

$sql = "SELECT * FROM users ORDER BY name, surname";

Bu sorgu, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre artan sırada döndürür.

Ayrıca, PDO ile sorguları çalıştırmak için prepare() ve execute() metodlarını kullanarak da sıralama yapabilirsiniz. Örneğin:

$sql = "SELECT * FROM users ORDER BY name, surname";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);

Bu yöntemde, sorgu öncesinde parametreleri bağlamanıza gerek kalmaz.

MySQLi Kullanarak Verileri Sıralamak

PHP ve MySQLi kullanarak verileri sıralamak için aşağıdaki adımları izleyebilirsiniz:

  1. Veritabanına bağlanmak için MySQLi nesnesini oluşturun:
$conn = new mysqli($servername, $username, $password, $dbname);
  1. Sıralama işlemi için SQL sorgusunu oluşturun. Örneğin, “users” tablosundan çekilen verileri “name” alanına göre sıralamak için:
$sql = "SELECT * FROM users ORDER BY name";
  1. SQL sorgusunu çalıştırmak için query() metodunu kullanın:
$result = $conn->query($sql);
  1. Sıralanmış verileri döndürmek için fetch_assoc() metodunu kullanın:
while($row = $result->fetch_assoc()) {
    // do something with the data
}

Bu örnekte, “users” tablosundan çekilen veriler “name” alanına göre sıralanmıştır.

Eğer sıralamayı azalan şekilde yapmak isterseniz, “ORDER BY” komutunun sonuna “DESC” yazabilirsiniz:

$sql = "SELECT * FROM users ORDER BY name DESC";

“ORDER BY” komutu ile birden fazla alana göre sıralama yapmak isteyebilirsiniz. Örneğin, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre sıralamak için:

$sql = "SELECT * FROM users ORDER BY name, surname";

Bu sorgu, “users” tablosundan çekilen verileri “name” ve “surname” alanlarına göre artan sırada döndürür.

Not: PHP ve MySQL kullanımının detaylı bilgisi için resmi PHP ve MySQL belgelerine başvurabilirsiniz.

Photo of author

Bilir Kişi

"Takdir ediliyorsanız değil taklit ediliyorsanız başarmışsınız demektir." - Einstein Profesyonel işbirlikleriniz için bilirkisi[at]webdeyazilim[.]com adresime mail gönderebilirsiniz.

Yorum yapın