alexa  Menu
web sitesi
php-mysql-jquery-ajax-ile-dinamik-bolge-il-ve-ilce-uygulamasi
PHP ve jQuery (Ajax) ile dinamik bölge, il ve ilçe uygulaması

  23.03.2018 ,   yorum yapılmadı ,   107 kez okundu.

Dün paylaştığım il ve ilçe uygulamasında işlemlerimizi JSON ve jQuery ile yapmıştım. Biliyorum ki, gelen yorumlarda bu işlemi php ve mysql yardımı ile nasıl yapabiliriz diye sorular sorulacak. Sorular sorulmadan uygulamayı paylaşayım dedim 🙂

Şimdi mantık aslında yine aynı. Bu paylaşımımda bir işlem daha yapacağım. Yani sadece il ve ilçe değil bölge seçimini de ekledim. Gelelim kodlarımıza.


Önce yine HTML kodlarımızı yazalım bir kenarda dursun:

index.php – 3 adet select oluşturalım.

Şimdi dbConn.php isimli veritabanı bağlantısı ve fonksiyonlarımızı barındıran sayfamızın kodlarını yazalım:

dbConn isimli bir class oluşturduk ve daha sonra static bir $db değişkeni ekledik. Çünkü bu değişkeni diğer fonksiyonlarımızda da kullanacağız. Daha sonra __construct metodunda veritabanına PDO kullanarak bağlandık. __construct metodu dbConn class`ı çağırıldığında otomatik çalışır.

Şimdi tüm bölgeeri alacağımız bir fonksiyon yazalım:

getBolgeList() fonksiyonu ile veritabanımızdaki bölge isimlerini DISTINCT yaparak çektik. DISTINCT sql dilinde tekrar eden verileri 1 kez göstermek için kullanılır.

Daha sonra ikinci fonksiyonumuz olan seçilen bölgeye göre İl listesini getiren kodlarımızı yazalım:

Bu fonksiyonda diğerinden farklı olarak $bolge diye bir değişken alıyoruz. Bu değişken bize seçili olan bölge ismini verir. Buarada tüm fonksiyonlarda sonucu json_encode() ile JSON formatına çevirdim çünkü daha sonra bu verileri AJAX ile çekeceğim ve JSON ile çalışmak daha mantıklı olacaktır.

Son olarak seçilen il bilgisine göre ilçe listesini getiren fonksiyonumuzu yazalım:

Yine burada da $il diye bir değişken ile seçili olan il bilgisini aldık. Şimdi AJAX ile bu fonksiyonlar yardımı ile bilgileri çekerek select elemanlarına eklememiz gerekiyor. Bunun için ajax.php diye bir sayfa daha oluşturacağım:

Burada öncelikle dbconn.php dosyasını sayfamıza include ettik. Daha sonra index.php sayfasından bize action isimli bir veri gönderildiğini farzederek o veriyi almak için kodumuzu yazdık ve $action değişkenine aktardık. Switch fonksiyonunu kullanarak gelen action verisine göre gerekli olan işlemi yaptık. Bu işlem dbConn sınıfını çalıştırmak oldu aslında. Şimdi biz yukarıda dbConn diye bir class oluşturduk. Bu mantık aslında nesne yönelimli programlama (object oriented programming) mantığı olduğu için burada yeni bir obje oluşturmamız gerekiyordu. Bunu da $db=new dbConn(); bu şekilde olşturduk ve bu objede yer alan fonksiyonumuzu $db->getBolgeList(); diye çağırdık. Sonuç olarak bize JSON dönecektir çünkü dbConn sınıfında json_encode() kullanmıştık.

Şimdi gelelim son adıma. Son adımda artık herşey hazır olduğu için sadece AJAX ile verileri ajax.php dosyasından çekmemiz gerekiyor. Kodumuz şöyle olacaktır:

Burada anlayacağınız üzere ajaxFunc() isimli bir fonksiyon oluşturduk. Bu fonksiyon ajax kodlarını sürekli tekrar etmemek için oluşturuldu. Yoksa bu kadar kodu üç kez yazmak durumunda kalacaktık.

İlk önce sayfa yüklendiğinde ajaxFunc(“bolge”, “”, “#bolge”); şeklinde bölge isimlerini almış olduk. Daha sonra il ve ilçe select etiketlerinin değiştiği yani bir öğre seçildiği durumunda yeniden ajaxFunct() fonksiyonunu çağırdık.

Sonuç:

pdo ve mysql ile il ve ile uygulamasi
Tüm işlemler bu kadar arkadaşlar. Uygulamanın tamamını github hesabımdan indirebilirsiniz. Bu eğitimi video olarak izlemek isterseniz online öğren blog sayfamı ziyaret edebilirsiniz.

1 yıldız2 yıldız3 yıldız4 yıldız5 yıldız (No Ratings Yet)
Loading...

Yorum yapın..