PHP JavaScript Otomatik il, ilçe ve mahalle seçimi yaptırmak

sourcere

Decapat
Katılım
30 Ocak 2022
Mesajlar
97
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Kullanıcıların adres eklemesi için il ilçe mahalle ekleme sistemi yapıyorum. İli seçtiğimde o ile ait ilçeleri ve o ilçeyi de seçtikten sonra o ilçeye ait olan mahalleleri getiren bir koda ihtiyacım var. Şu anki yaptığım kodda seçtiğim ilin ilçesi geliyor ama mahallesini getirtemiyorum. İşte veri tabanındaki tablolarım:

"il_tbl" tablosunun sütunları şunlar;
il_ID / ilAd
"ilce_tbl" tablosunun sütunları şunlar;
ilce_ID /il_ID/ ilceAd
"Mahalle_tbl" tablomun sütunları şunlar;
Mah_ID/ Ilce_ID/ MahAd bu il ilçe ve mahalle verilerini çektiğim kısım;
PHP:
// İl verilerini çekme
$query_il = "SELECT * FROM il_tbl";
$il_result = $conn->query($query_il);

// İlçe verilerini çekme
$query_ilce = "SELECT * FROM ilce_tbl";
$ilce_result = $conn->query($query_ilce);

// Mahalle verilerini çekme
$query_mahalle = "SELECT * FROM Mahalle_tbl";
$mahalle_result = $conn->query($query_mahalle);

bu da html formlarım ve js kodum

JavaScript:
<div id="addressForm" style="display:block;">
       <form id="addressForm">
               <select id="ilSelect" name="ilSelect" onchange="addToURL(this.value)">
    <option value="">İl Seçiniz</option>
    <?php
    while($il_row = $il_result->fetch_assoc()) {
        echo "<option value='".$il_row['il_ID']."'>".$il_row['ilAd']."</option>";
    }
    ?>
</select>

                <select id="ilceSelect" name="ilceSelect">
                    <option value="">İlçe Seçiniz</option>
                </select>
                <select id="mahalleSelect" name="mahalleSelect">
        <option value="">Mahalle Seçiniz</option>
    </select>
                <input type="text" id="detayInput" name="detayInput" placeholder="Detay">
                <button type="submit">Kaydet</button>
            </form>
       </div>




<script>
  // İl seçildiğinde il ID'sini URL'ye ekleyen fonksiyon
function addToURL(ilID) {
    // Mevcut URL'yi al
    var currentURL = window.location.href;
   
    // İl ID'sini URL'ye ekleyerek yeni URL oluştur
    var newURL;
    if (currentURL.indexOf('?') !== -1) {
        newURL = currentURL + '&ilID=' + ilID;
    } else {
        newURL = currentURL + '?ilID=' + ilID;
    }
   
    // Tarayıcı geçmişine yeni URL'yi ekle
    window.history.replaceState({}, '', newURL);
   
    // İlçeleri getirmek için AJAX isteği yap
    getIlceler(ilID);
}
</script>

<script>
// Function to fetch ilçeler based on the selected il
function getIlceler(ilID) {
    var url = "get_ilceler.php?ilID=" + ilID;

    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var ilceHTML = this.responseText;
            var ilceSelect = document.getElementById("ilceSelect");
            ilceSelect.innerHTML = ilceHTML;
        }
    };
    xhttp.open("GET", url, true);
    xhttp.send();
}
</script>
 

Yeni konular

Geri
Yukarı