Javascript (Ajax) İl – İlçe – Semt – Mahalle Listeleme DB Bağlantılı ASP

Merhabalar, Javascript, MySQL ve ASP ile İl-İlçe-Semt-Mahalle listelemeyi göstereceğim.

Öncelikle İller İlçeler Semtler ve Mahallelerin SQL dosyasını indirmek için buraya tıklayın. Liste PTT’nin verdiği en güncel bilgileri içeriyor. (2011 e göre) Listeyi hazırlayan skacurt a çok teşekkür ederim..

Türkiye 2011 İl İlçe Semt Mahalle Köy Güncel Listesi:

MS Access (2002-2003) :  msaccess
SQL Server Script (ANSI): sqlserver_script
SQL Server Detach (.mdf – .ldf) : sqlserver_detach
MySQL Script (UTF-8): mysql-script
XML (UTF-8) :  xml

Sayfamızı hazırladık Select box’larla şehir ilçe semt ve mahalle seçtireceğiz. Bunun için gereken yapı aşağıdaki gibi olmalı.

[asp]
<div id="ili">
<select id="il" name="sehir" onchange="IlceleriAl()">
<option value="">- Şehir Seçiniz -</option>
<%
strSQL = "SELECT il_ad, il_id FROM tbl_il ORDER BY il_id ASC"
rsFatih.Open strSQL, adoCon, 1, 3

Do While NOT rsFatih.EOF

Response.Write("<option value="""& rsFatih("il_id") &""">"& rsFatih("il_ad") &"</option>")

rsFatih.MoveNext : Loop
rsFatih.Close

Set rsFatih = Nothing
%>
</select>
</div>
<div id="ilcesi">
<select id="ilce" name="ilce" title="İlçeyi Seçiniz" onchange="SemtleriAl()">
<option value="">- İlçe Seçiniz -</option>
</select>
</div>

<div id="semti">
<select id="semt" name="semt" title="Semti Seçiniz">
<option value="">- Semt Seçiniz -</option>
</select>
</div>
[/asp]

verileri JavaScriptle Alacağız bunun içinse javascriptlerimizi veriyorum

[asp]

<script type="text/javascript">
function IlceleriAl(){
$("#semti").html(‘<select id="semt"><option value="0">- Semt Seçiniz -</option></select>’);
il=$("#il").val();
$.ajax({
type:’POST’,
url:’il-ilce-select.asp?islem=ilce’,
data:’il=’+il,
success: function(msg){
$(‘#ilcesi’).html(msg);
}
});
}

function SemtleriAl(){
ilce=$("#ilce").val();
$.ajax({
type:’POST’,
url:’il-ilce-select.asp?islem=semt’,
data:’ilce=’+ilce,
success: function(msg){
$(‘#semti’).html(msg);
}
});
}
</script>

[/asp]

tabi bunların çalışması için sayfanıza jQuery include etmeniz gerekiyor. Daha sonra sayfanın ASP bölümlerini kodlayacağız kodlarımız aşağıda

[asp]
<%
Set rsFatih = Server.CreateObject("Adodb.Recordset")
Set kdYardimci = Server.CreateObject("Adodb.Recordset")
strIslem = Request.QueryString("islem")

If strIslem = "ilce" then
strIL = Request("il")
If strIL = "" then
Response.Write("err")
Else
Response.Charset = "iso-8859-9"
strSQL = "SELECT * FROM tbl_ilce WHERE il_id = " & strIL
rsFatih.Open strSQL, adoCon, 1, 3
Response.Write("<select id=""ilce"" name=""ilce"" onchange=""SemtleriAl()"">")
Response.Write("<option value="""">- İlçe Seçiniz -</option>")
Do While NOT rsFatih.EOF

Response.Write("<option value="""& rsFatih("ilce_id") &""">"& rsFatih("ilce_ad") &"</option>")

rsFatih.MoveNext : Loop
rsFatih.Close
Response.Write("</select>")
End If
Response.End()
End If

If strIslem = "semt" then
strILce = Request("ilce")
If strILce = "" then
Response.Write("err")
Else
Response.Charset = "iso-8859-9"
strSQL = "SELECT * FROM tbl_semt WHERE ilce_id = " & strILce
rsFatih.Open strSQL, adoCon, 1, 3
Response.Write("<select id=""semt"" name=""semt"">")
Response.Write("<option value="""">- Semt Seçiniz -</option>")
Do While NOT rsFatih.EOF

Response.Write("<optgroup label="""& rsFatih("semt_ad") &""">")
strMahSQL = "SELECT mahalle_id, mahalle_ad FROM tbl_mahalle WHERE semt_id = " & rsFatih("semt_id")
kdYardimci.Open strMahSQL, adoCon, 1, 3

Do While NOT kdYardimci.EOF
Response.Write("<option value="""& kdYardimci("mahalle_id") &""">"& kdYardimci("mahalle_ad") &"</option>")
kdYardimci.MoveNext : Loop
kdYardimci.Close
Response.Write("</optgroup>")
rsFatih.MoveNext : Loop
rsFatih.Close
Response.Write("</select>")
End If
Response.End()
End If

%>
[/asp]

Evet olay bu kadar basit döngülerle döndürerek javascript ile il ilçe semt mahalle seçtirdik.

Şu Şekilde Görülecek:

Scripti http://www.aytekin.me/il/il-ilce-select.asp adresinden önizleyebilirsiniz.

Daha güzelleştiremek isterseniz jQuery UI MultiSelect Widget adlı jQuery uygulamasını kullanabilirsiniz.

Bu dosyaların hazır halini indirmek için buraya tıklayın. Burda birde sürprizim var 😛

“Javascript (Ajax) İl – İlçe – Semt – Mahalle Listeleme DB Bağlantılı ASP” üzerine 5 yorum

  1. usta bunun hazır halini indirdim hata veriyor

    Microsoft VBScript çalýþma hatasý hata ‘800a01a8’

    Nesne gerekli: ”

    /sinav/1/il-ilce.asp, satır 139

    bunu nasıl ömzebiliriz

  2. çok güzel bir paylaşımda bulunmussunuz öncelikle teşekkur ederim, fakat ben bu kodlamalardan anlamıyorum açıkçası bi kaç gundür bişeyler öğrenmeye çalışıyorum sizin bu verileri indirdim bir türlü html sayfasında görüntüleyemedim dediğinizi de yapamadım bana yardımcı olursanız sevinirim

  3. merhaba hocam çalışıyor sistem yanlız il, ilçe ve semt bilgilerini veritabanına kayıt etme sırasında sorun yaşıyoruz cünkü il bilgisi geliyor ama ilçeyle semt bilgisi gelmiyor bunu nasıl aşabiliriz?

  4. Mert Kardeşim appserv kurulumunu öğrenmeni tavsiye ederim, sonradan mysql-Script.sql dosyasını içe aktar, zaten kendi oluşturuyor. ben php ye uyarlıyorum. yakında hazırlayıp zipler atarım inş.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir