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

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 Godfather | 1972 |
Forrest Gump | 1994 |
The Shawshank Redemption | 1994 |
- Film adı kriterinin yılından daha önemli olduğu için, yıl setinde bir alt işlev kullanın.
- İki parametre alacak bir sıralama işlevi oluşturun: film adı ve yapım yılı.
- İşlev parametrelerini kullanarak yıl setinde karşılaştırmalar yapın.
- İki kriterin eşit olduğu durumda, alfabetik sıralamaya göre film adlarını sıralayın.
- 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 | |
---|---|---|---|
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.