MySQL Verilerini PHP ile Filtreleme

MySQL Verilerini PHP ile Filtreleme

MySQL verilerinin PHP ile filtreleme, sıralama ve arama işlemleri hakkında bilgi veren bir makaledir Bu işlemlerle verilerin daha verimli ve hızlı bir şekilde işlenebileceği vurgulanmıştır Filtreleme örneği olarak bir kitap mağazasındaki sadece belirli bir yayınevinin kitaplarını listeleme örneği verilmiştir Sıralama işlemleri için ORDER BY ifadesinin kullanılabileceği ve birden fazla sıralama kriteri belirlenerek özelleştirilebileceği belirtilmiştir Çoklu sıralama örnekleri verilerek verilerin daha iyi analiz edilebileceği vurgulanmıştır Toplamda en az 150 en çok 290 karakter uzunluğundaki Türkçe meta açıklaması ise aşağıdaki şekildedir:
MySQL verilerini PHP ile filtreleyin, sıralayın ve arayın Kitap mağazası örneğinde olduğu gibi belirli verileri işlemek daha verimli ve hızlıdır Sıralama için

MySQL Verilerini PHP ile Filtreleme

Merhaba, bu makalede sizlere MySQL verilerinin PHP kullanarak nasıl filtrelenip, sıralanacağını ve aranan şeyin nasıl bulunacağını öğreteceğiz. MySQL verilerini PHP ile filtrelemek oldukça önemlidir, zira böylece işlemleriniz daha verimli ve hızlı bir şekilde gerçekleştirilebilir.

PHP dilinde MySQL verilerini filtrelemek, sıralamak ve aramak için birçok farklı fonksiyon bulunmaktadır. Bu fonksiyonlar sayesinde, verilerinizi istediğiniz şekilde düzenleyebilir ve hızlı bir şekilde arayabilirsiniz. Ayrıca, özel sıralama fonksiyonları oluşturarak işlemlerinizi daha da özelleştirebilirsiniz.

Bu makalede, öncelikle MySQL verilerinin filtrelenmesi konusunu ele alacağız. Daha sonra, sıralama ve arama işlemlerini öğreneceğiz. Son olarak, uygulama örnekleri sunarak konuların daha iyi anlaşılmasına yardımcı olacağız.


Verileri Filtrleme

Bu makalede, MySQL verilerinin PHP kullanarak nasıl filtrelenip, sıralanacağı ve aranan şeyin nasıl bulunacağı hakkında bilgi sahibi olacaksınız. İlk olarak, verilerin nasıl filtrelenip, istenen verilerin nasıl görüntüleneceği konusuna değineceğiz. Bir MySQL tablosundan örnek vererek, sadece belirli verileri getirmenin nasıl mümkün olduğunu göstereceğiz.

Örneğin, bir kitap mağazasındaki tüm kitaplara sahip bir veritabanımız olduğunu varsayalım. Ancak sadece belirli bir yayınevinin kitaplarını göstermek istiyoruz. Bu durumda, PHP kodumuzu şu şekilde yazabiliriz:

ISBN Başlık Yazar Yayınevi Fiyat (TL)
1234567890 Php ile MySQL Veritabanı Programlama John Doe Tech Publishing 50.00
0987654321 Web Tasarım ve Programlama Jane Smith Publishing House 75.00
2468101214 Web Geliştiricileri İçin JavaScript William Johnson Tech Publishing 65.00

SELECT * FROM kitaplar WHERE yayinevi ='Tech Publishing';

Bu sorgu, sadece Tech Publishing'in yayınladığı kitapları gösterecektir. Bunun sonucunda, sadece yukarıda listelenen ilk ve üçüncü kitaplar görüntülenecektir.


Verileri Sıralama

Bir MySQL veritabanında, verileri belirli bir sıraya göre sıralamak isteyebilirsiniz. PHP kullanarak, MySQL verilerini sıralamak ve istediğiniz sonucu elde etmek oldukça kolaydır.

MySQL verilerini sıralamak için ORDER BY ifadesini kullanabiliriz. Bu ifadeyi kullanarak, verileri belirli bir sıraya göre sıralayabiliriz. Örneğin:

Ad Soyad Yaş
Ali Kara 25
Mehmet Yılmaz 28
Ayşe Kılıç 23

Yukarıdaki tablodaki verileri, örneğin yaşına göre sıralamak isteyebiliriz. Bunun için, aşağıdaki PHP kodunu kullanabiliriz:

SELECT * FROM kisiler ORDER BY yas ASC

Bu kod, kisiler tablosundaki verileri yaşlarına göre azalan sırada sıralar. ASC ifadesi, verileri küçükten büyüğe sıralar. Eğer verileri büyükten küçüğe sıralamak isterseniz, DESC ifadesini kullanabilirsiniz.

Ayrıca, bir veya daha fazla sıralama kriterini de belirleyebilirsiniz. Örneğin, yukarıdaki tablodaki verileri önce soyadlarına sonra da yaşlarına göre sıralamak isterseniz, aşağıdaki PHP kodunu kullanabilirsiniz:

SELECT * FROM kisiler ORDER BY soyad ASC, yas DESC

Bu kod, verileri soyadlarına göre artan ve eşit olan soyadları arasında ise yaşlarına göre azalan sıraya göre sıralayacaktır.

MySQL verilerini sıralamak, verileri daha okunaklı ve anlamlı hale getirmek için önemlidir. Bu nedenle, PHP ile verileri sıralamayı öğrenmek, veritabanınızı daha iyi yönetmenize yardımcı olacaktır.


Çoklu Sıralama

Bir MySQL tablosunda birden fazla sıralama kriteri kullanarak sıralama yaparak verileri daha iyi bir şekilde analiz edebilirsiniz. arasına yazılacak kodlarda, istenen sıralama kriterleri yani sütun adları virgül ile ayrılarak sıralama yapılabilir.

Örneğin aşağıdaki kod satırı, 'isim' ve 'yas' sütunlarına göre MySQL veritabanındaki verileri artan sırayla sıralar:

 SELECT * FROM ogrenciler ORDER BY isim ASC, yas ASC 

Sütun adlarına göre sıralamayı azalan sırada yapmak için, 'DESC' anahtar kelimesini kullanabilirsiniz:

 SELECT * FROM ogrenciler ORDER BY isim DESC, yas DESC 

Birden fazla sıralama kriteri kullanılabilir ve her biri artan ya da azalan sırayla sıralanabilir. Yani, her sıralama kriteri için artan ya da azalan sırayı farklı secenek olarak kullanabilirsiniz. Bu şekilde, birçok farklı veri setini daha iyi analiz edebilir ve daha iyi kararlar verebilirsiniz.

Aşağıdaki örnek, 'isim', 'cinsiyet' ve 'yas' sütunlarına göre verileri azalan bir sırada sıralamaktadır:

 SELECT * FROM ogrenciler ORDER BY isim DESC, cinsiyet DESC, yas DESC 

Yukarıdaki örnek, 'isim' sütununa göre azalan sıraya göre sıralar. Ardından, 'cinsiyet' sütununda aynı değerlere sahip olan öğrencilerin 'cinsiyet' sütununa göre azalan sıraya göre sıralanmasını yapar.

Son olarak, 'yas' sütununa göre tüm öğrencilerin yaşına göre azalan sıraya göre sıralanır. Bu gibi yöntemler ile, birden fazla sıralama kriteri kullanarak, verilerinizde farklı senaryoları analiz etmek için daha güçlü bir araç seti elde edebilirsiniz.


Sıralama Yöntemi Belirtmek

MYSQL verilerini sıralarken, sıralama kriterlerini belirtmemiz gerekmektedir. Bunun için kullanabileceğimiz yöntemler vardır. Bunlardan biri "ORDER BY" kullanmaktır. Bu yöntem sayesinde, istediğimiz sıralama kriterlerine göre belirli bir sıraya göre verileri getirebiliriz.

Örneğin, bir müşteri veritabanı içerisindeki müşterileri bir sıraya koymak istiyoruz. Bu sıralamayı "Soyadı"na göre yapmak istediğimizde, aşağıdaki sorguyu kullanabiliriz.

Sorgu Açıklama
SELECT * FROM customers ORDER BY surname ASC Müşterileri, soyadına göre küçükten büyüğe doğru sıralar.

Yukarıdaki örnekte görüldüğü gibi, "ORDER BY" ifadesinden sonra sıralama kriterini belirtiyoruz ve "ASC" veya "DESC" kullanarak sıralama şeklimizi belirleyebiliyoruz. "ASC" küçükten büyüğe, "DESC" büyükten küçüğe sıralama yapar.

Bunun yanı sıra, eğer sıralama kriterlerimizden biri NULL değerler içeriyorsa, "ORDER BY" fonksiyonunu kullanarak bunu belirtmek gerekiyor. Bunu yapmanın yolu, aşağıdaki gibi bir sorgu kullanmaktır:

Sorgu Açıklama
SELECT * FROM customers ORDER BY surname ASC NULLS LAST Müşterileri soyadına göre küçükten büyüğe sıralama yaparken, NULL değerlerin en sona gelmesini sağlar.

Sıralama yaparken, birden fazla sıralama kriteri de belirleyebiliriz. Örneğin, "ad" ve "soyadı"na göre sıralama yapmak için aşağıdaki sorgu kullanılabilir:

Sorgu Açıklama
SELECT * FROM customers ORDER BY name ASC, surname ASC Müşterileri, ad ve soyadına göre küçükten büyüğe doğru sıralar.

Görüldüğü gibi, her bir sıralama kriterinin ardından virgül koyarak bir sonraki kritere geçilebilir.


Kendi Sıralama Fonksiyonları yazmak

MySQL'de önceden tanımlanmış birkaç sıralama yöntemi bulunuyor. Ancak bazen özel sıralama kriterleri kullanmak gerekebilir. Bu tür durumlarda MySQL sıralamaları kendimiz yazabiliriz. Sıralama fonksiyonlarını tanımlamak için, MySQL sorgusu kullanmanız gerekir.

MySQL'deki sıralama kriteri fonksiyonları, bir sorgu oluşturduktan sonra sadece bir kez kullanılabilir. Kendi sıralama fonksiyonumuzu oluşturmak için sadece birkaç adım izlemeniz gerekir:

  • MySQL sorgunuza göre bir ALT izleme işlevi oluşturun.
  • ALT işlevi için gerekli öğeleri ve sıralama düzenlemelerini içeren işlevi oluşturun.
  • Herhangi bir sorguda kendi sıralama işlevinizi kullanın.

Örneğin, bir film veritabanında yıl ve başlık kriterleri kullanarak özel bir sıralama algoritması oluşturmak istediğinizi varsayalım. Kendi sıralama işlevinizi oluşturmak için aşağıdaki adımları izleyin:

Film adıYapım yılı
The Godfather1972
Forrest Gump1994
The Shawshank Redemption1994
  1. Film adı kriterinin yılından daha önemli olduğu için, yıl setinde bir alt işlev kullanın.
  2. İki parametre alacak bir sıralama işlevi oluşturun: film adı ve yapım yılı.
  3. İşlev parametrelerini kullanarak yıl setinde karşılaştırmalar yapın.
  4. İki kriterin eşit olduğu durumda, alfabetik sıralamaya göre film adlarını sıralayın.
  5. Sorgunuzu yarattıktan sonra, kendi sıralama işlevinizi kullanarak filmleri sıralayabilirsiniz: ORDER BY my_sort(film_adı, yapım_yılı)

Kendi sıralama fonksiyonunuzu oluşturmak için ilgili öğeleri belirlemeniz gerekir. Fonksiyonlar temel olarak aynıdır, yalnızca karşılaştırmanız gereken öğeleri belirlemek için değiştirilir. Kendi sıralama fonksiyonunuzu oluşturarak, verilerinizi özelleştirebilir ve etkili bir şekilde işleyebilirsiniz.


Limit Koyma

MySQL verilerini filtrelemek ve sıralamak kadar önemli bir diğer konu, limit koymadır. Limit koyma, MySQL'den belirli bir sayıda kayıt getirme işlemidir. Bu, büyük veritabanlarındaki veri yığınlarıyla uğraşırken oldukça kullanışlıdır.

Örneğin, bir uygulamada sayfalama yapmak isterseniz, sayfanın yalnızca belirli bir sayısı kadar kayıt göstermesini istersiniz. Bu durumda limit koyma seçeneğinden yararlanabilirsiniz.

Limit koyma işlemini gerçekleştirmek oldukça basittir. Sorgunun sonuna "LIMIT" kelimesi ekleyeceksiniz. Daha sonra limit değerini belirlemeniz yeterli olacaktır. Böylece, sorgu yalnızca belirli bir sayıda kayıt getirir.

Bir örnek vermek gerekirse, aşağıdaki MySQL sorgusu, "customers" tablosundan sadece ilk beş kaydı alacaktır:

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Berglunds snabbköp Christina Berglund Sweden
3 Centro comercial Moctezuma Francisco Chang Mexico
4 Ernst Handel Roland Mendel Austria
5 FISSA Fabrica Inter. Salchichas S.A. Diego Roel Spain

Aşağıdaki PHP kodu, yukarıdaki sorguyu gerçekleştirir:

$sql = "SELECT * FROM customers LIMIT 5";$result = mysqli_query($conn, $sql);

Bu örnekte, "customers" tablosundan sadece ilk beş kayıt almak için sorguya "LIMIT 5" eklendi. Bu şekilde, MySQL yalnızca ilk beş kaydı gösterir.

Limit koyma işlemi ile büyük veritabanlarında hızlı sayfalamalar yapabilirsiniz. Sorguyu optimize etmek için bu teknik oldukça önemlidir.


Arama

MySQL veritabanındaki verileri aramak, çoğu web uygulaması için çok önemlidir. Arama işlevi, kullanıcıların aradıkları bilgileri kolayca bulmalarını sağlayarak kullanıcı deneyimini arttırır. Bu bölümde, arama terimlerini kullanarak bir MySQL veritabanındaki verileri nasıl arayabileceğinizi öğreneceksiniz.

MySQL'de, verileri arayabileceğiniz birkaç farklı yöntem vardır. Bunlardan biri "LIKE" yöntemidir. LIKE, belirli bir desene sahip verileri aramanıza olanak tanır. Örneğin, "John" gibi belirli bir kelime veya kelime grubunu içeren tüm kayıtları arayabilirsiniz. Bu şekilde arama yapmak için, aşağıdaki örnekte olduğu gibi SQL ifadesi ile bir arama sorgusu oluşturmanız gerekir:

SQL Sorgusu: SELECT * FROM tablo_adi WHERE sutun_adi LIKE '%aranan_kelime%';

Yukarıdaki örnek SQL sorgusunda, "%" işaretleri verinin başına ve sonuna eklenir. Bu, aranan kelimenin başka herhangi bir kelimenin yanında olabilir ve sonuçları filtrelemeyi sağlar. Örneğin, "John" kelimesinin yanında "Johnson" kelimesi gibi bir kayıt da aranabilir.

Bununla birlikte, sadece belirli bir kelimeyle sınırlı kalmak istemeyebilirsiniz. Bu nedenle, bir diğer arama yöntemi veritabanı sorguları kullanmaktır. Bu yöntem, "LIKE" metodundan daha kapsamlı aramalar yapmanıza olanak tanır. Veritabanı sorguları kullanarak arama yapmak için, önce aranacak anahtar kelimeleri belirleyin ve ardından bu kelimeleri bir dizi SQL ifadesi ile filtreleyin.

Özetle, bu bölümde MySQL veritabanındaki verileri nasıl arayacağınızı öğrendiniz. LIKE yöntemi ve veritabanı sorguları kullanarak, kullanıcılara istedikleri bilgileri kolayca bulmaları için arama işlevi sağlayabilirsiniz.


LIKE ile Arama

MySQL verilerini filtrelemek ve sıralamak için daha önce birçok yöntem öğrendik ancak veritabanındaki belirli bir kelimeyi aramak için kullanabileceğimiz bir yöntem daha var. Bu yöntem LIKE olarak adlandırılır ve aranan kelime içeren herhangi bir satırı getirir.

LIKE yöntemini kullanmak için şu biçimde bir sorgu yazmalısınız:

SELECT * FROM tablo_adi WHERE sütun_adi LIKE 'aranan_kelimeler';

Bu sorgu, 'tablo_adi' adlı tabloda, 'sütun_adi' adlı sütunda 'aranan_kelimeler' eşleşen herhangi bir şeyi bulur.

Örneğin, bir kitap listesi tablosunda 'Başlık' adlı sütunda 'Sanat' kelimesini aramak istediğinizi varsayalım:

SELECT * FROM kitaplar WHERE Baslik LIKE '%Sanat%';

Bu sorgu, 'kitaplar' adlı tabloda 'Başlık' adlı sütunda 'Sanat' kelimesini içeren herhangi bir kaydı getirecektir. % işareti, kelimenin öncesi veya sonrasındaki karakterleri belirtmek için kullanılır.

LIKE yöntemi, belirli bir kelimeyi arama ihtiyacını karşılamak için oldukça kullanışlıdır. Ancak, büyük veritabanlarında performans sorunlarına neden olabilir, bu yüzden bunu çok sık kullanmaktan kaçınmak en iyisidir.


Veritabanı Sorgusu Kullanarak Arama

Veritabanı sorgusu kullanarak arama işlemi oldukça kullanışlı ve etkilidir. MySQL'de veri çekmek için kullanabileceğiniz en yaygın yöntem, SELECT isimleri FROM tablo_adi WHERE kosulunu kullanmaktır. Bununla birlikte, sorguyu tamamlamak için aranan sözcükle eşleşen verileri tanımlamanız gerekir.

Örnek:

ID İsim Soyisim Email
1 Ahmet Yılmaz ahmet@email.com
2 Mehmet Demir mehmet@email.com
3 Tugçe Yüksel tugce@email.com

Örnek olarak, yukarıdaki tabloda 'Ahmet' isimli kişiyi bulmak için, aşağıdaki sorguyu kullanabilirsiniz:

SELECT * FROM tablo_adi WHERE isim = 'Ahmet'

Bu sorgu size yalnızca 'Ahmet' isimli kişiye ilişkin verileri getirecektir.

Bir başka örnek ise, 'email.com' uzantısına sahip email adreslerini getirmek için aşağıdaki sorguyu kullanabilirsiniz:

SELECT * FROM tablo_adi WHERE email LIKE '%email.com'

Bu sorgu, email adresinde '%email.com' ifadesi geçen tüm verileri getirecektir.

Veritabanı sorgusu kullanarak arama yapmak, özellikle büyük veri tabanları için oldukça etkilidir. Bu yöntemi kullanarak, aranan kelimeye, düzenli ifadelere ve daha birçok farklı kritere göre arama yapabilirsiniz.


Örnek Uygulamalar

Bu bölümde sizlere MySQL verilerini PHP kullanarak filtrelendiği, sıralandığı ve arandığı konularında örnekler sunacağız. Örneğin, bir e-ticaret sitesinde ürünleri fiyatlarına göre filtrelememiz gerekebilir veya bir blog sitesinde yazıları tarihlerine göre sıralamamız gerekebilir. Ayrıca, bir arama kutusu oluşturarak kullanıcıların veritabanında arama yapabilmesine izin vermek isteyebilirsiniz.

İlk örneğimiz, MySQL verilerini filtrelemek üzerine olacak. Örneğin, bir e-ticaret sitesinde kullanıcıların yalnızca belirli bir fiyat aralığındaki ürünleri görebilmesini sağlayabilirsiniz. Bunun için, SQL sorgusuna WHERE ifadesi ekleyerek ve PHP kodları yardımıyla filtreleme işlemini gerçekleştirebilirsiniz. Ayrıca, birden fazla filtreleme kriterini beraber kullanarak daha spesifik sonuçlar elde edebilirsiniz.

İkinci örneğimiz, MySQL verilerini sıralamak üzerine olacak. Örneğin, blog sitenizde en popüler yazıları veya en yeni yazıları ilk sırada göstermek isteyebilirsiniz. Bunun için, SQL sorgusuna ORDER BY ifadesi ekleyerek ve PHP kodları yardımıyla sıralama işlemini gerçekleştirebilirsiniz. Ayrıca, birden fazla sıralama kriterini beraber kullanarak daha spesifik sonuçlar elde edebilirsiniz.

Üçüncü örneğimiz, MySQL verilerini aramak üzerine olacak. Örneğin, kullanıcıların veritabanında belirli bir kelimeyi aramasına izin vermek isteyebilirsiniz. Bunun için, SQL sorgusuna WHERE ve LIKE ifadelerini ekleyerek ve PHP kodları yardımıyla arama işlemini gerçekleştirebilirsiniz. Ayrıca, aranan kelimeye göre veritabanındaki sonuçları sıralayabilirsiniz.

Son olarak, örnek uygulamalar bölümünde, yukarıda öğrendiğimiz konuları kullanarak farklı uygulamalar yapacağız. Örneğin, bir e-ticaret sitesinde ürünleri filtrelemeyi ve sıralamayı, bir blog sitesinde yazıları filtrelemeyi ve sıralamayı, hatta bir haber sitesinde haberleri filtrelemeyi ve sıralamayı öğreneceğiz. Bu örnekler sayesinde, MySQL verilerinin PHP kullanarak nasıl işlenebileceği konusunda daha iyi bir anlayışa sahip olacaksınız.