PHP Ajax ile İl İlçe Seçimi Yapımı

PHP Ajax ile İl İlçe Seçimi Yapımı
PHP Ajax ile İl İlçe Seçimi Yapımı
Adres sistemli projelerde, e-ticaret sitelerinde il ve ilçeye dayalı adres seçim işlemleri yapılmakta. Piyasada bulunan php ajax ile yapılmış bu küçük kod parçacıkları ise çoğu eski, mysql kodu ile yazılmış. Ben de bu kodu serpito’dan almıştım. Fakat php versiyonu geliştikçe mysql kodlarının kullanımı da devre dışı kaldı. Bir laravel projemde de bu kodlara gerek duydum ve tabiki de çalışmadı. Ben de elimde bulunan il-ilçe tablosunu kullanarak yeni bir kodla PDO ve jQuery ile çalışan PHP Ajax ile il ilçe seçimi sistemi hazırladım ve bunu da sizlerle paylaşmak istedim.

PHP Ajax ile İl İlçe Seçimi Nasıl Çalışacak ?

İki adet listbox oluşturacağız. Birincisi il seçimi olacak. İkincisi de ilçe seçimi olacak. İller 1’den başlayıp 81’e kadar sql tablomuzda var. Her il için de ilçe sayısı kadar 1’den başlayıp devam ediyor. İlk önce sayfaya girdiğimizde İl listbox açık olacak, ilçe listbox ise tıklanamaz olacak. İl listbox bir değer aldığında ilçe listbox da seçime açık olacak. İl listbox sıfırlandığında da ilçe listbox da sıfırlanacak, böylece herhangi bir hata ile karşılaşmayalım.

index.php sayfamız

Öncelikle bootstrap kullanarak bir anasayfa yapalım ve içerisine iki adet listbox ekleyelim. Google apiden de jquery‘yi çağıralım.
index.php sayfamızın şu anki durumu
PHP Ajax ile il ilçe seçimi index.php
index.php sayfamızın şu anki durumu
[su_button url=”https://yadi.sk/d/NIxQdSJ23ahYo9″ target=”blank” style=”bubbles” background=”#00b901″ size=”5″ icon=”icon: arrow-circle-down” rel=”nofollow” title=”İl İlçe tablo sql indir”]İl İlçe tablo sql indir[/su_button] Evet arkadaşlar şimdi phpmyadmine girip “adresleme” isminde bir veritabanı oluşturuyoruz. Sonra da indirmiş olduğumuz “adresleme.sql” tablomuzu bu veritabanımızın içerisine aktarıyoruz. Bunun sonucunda veritabanımız bağlanılmaya ve kullanılmaya hazır duruma geliyor.

connection.php sayfası

Bu sayfa index.php sayfamızın veritabanımıza bağlantı kurulacağı sayfa olacak. $DB_host bizim mysql veritabanı host adresimiz, $DB_user mysql kullanıcı adımız, $DB_pass mysql kullanıcı parolamız ve $DB_name ise biraz önce oluşturduğumuz veritabanı ismimiz. Kullanıcı adı ve parola localde, bilgisayar üzerinde çalışıyorsanız aşağıdaki gibi kalabilir. Website üzerinde çalışıyorsanız değiştirmeyi unutmayın. Burada bağlantımızı PDO kullanarak yaptık. Yeni kodlama sistemi bu.

index.php sayfamızı güncelleyelim

index sayfamızı aşağıdaki gibi işaretlenmiş yerleri ekliyoruz. Burada ne yaptık anlatalım. İl listbox içerisine bir bağlantı açtık ve foreach döngüsüyle seçenekleri çoğalttık, illeri sırayla listeledik. Aşağıda bulunan script kısmında ise jquery ile iki listbox arasında bir bağlantı kurduk. Sayfamız açıldığında ilçe listbox tıklanamaz şekilde olacak. İl listbox tıklandığında yani değeri 1’den büyük olduğunda ajax.php dosyamızdan post metoduyla ilgili ile ait ilçeleri listeleyecek. İl seçimi sıfırlandığında ise ilçe listbox tekrar tıklanamaz hale gelecek ve seçenekleri de silinecek.
PHP Ajax ile il ilçe seçimi yeni hali
PHP Ajax ile il ilçe seçimi yeni hali
Tabi sistemin doğru çalışması için aşağıdaki ajax sayfasını da oluşturmanız gerekiyor.

ajax.php sayfamız


PHP Ajax ile il ilçe seçimi tamamlandı

Makalemi okuduğunuz için teşekkür ederim. Herhangi bir hata varsa veya siz bir hata alırsanız iletişim sayfamdan bana ulaşabilirsiniz. Sizlere yardımcı olmak isterim. Projenin tam çalışan halini, tüm dosyalarını aşağıdaki linkten indirebilirsiniz.
[su_button url=”https://tl.tc/t7V8mrgD” target=”blank” style=”bubbles” background=”#00b901″ size=”5″ icon=”icon: arrow-circle-down” rel=”nofollow” title=”Projeyi indir”]Projeyi indir[/su_button]
msbeden hakkında 2 makale
Bilgisayar ile 2004 yılında tanıştım. 2008 yılında HTML öğrenmeye başladım. Lise yıllarımda hazır scriptlerin kurulumları ve yönetimini öğrendim, o zamanda aktif olan forum sitelerinde yer aldım. Üniversite hayatımda grafik tasarım üzerine de çalışmalarım oldu. Şu anda da PHP üzerine devam ediyorum. Laravel kullanıyorum.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*