PHP ile MySQL ilişkili tablolar üzerinde il ilçe yada marka model gibi verileri seçmek için aşağıdaki kodları kullanabilirsiniz.
İlginizi çekebilir: PHP PDO Veritabanı İşlemleri (Seç, Ekle, Sil, Güncelle)
İlk olarak veritabanı bağlantısı yaparak başlıyoruz. Bunun için aşağıdaki baglan.php dosyasını kullanabilirsiniz. Dosyadaki bağlantıları sisteminize uygun olarak değiştirmeyi unutmayın.
baglan.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php /* Sürücü isteğiyle bir ODBC veritabanına bağlanalım */ $dsn = 'mysql:dbname=tasarimkodlama;host=127.0.0.1'; $user = 'root'; $password = ''; try { $baglan = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Bağlantı kurulamadı: ' . $e->getMessage(); } ?> |
Bağlantı cümlemizi yazdıktan sonra il ilçe veritabanı için gerekli olan kodları yazmaya başlayabiliriz. İl ilçe kayıtlarınız yoksa buradaki bağlantıdan SQL İl İlçe verilerini indirebilirsiniz.
PHP MySQL ile İl İlçe Kayıtlarını Sorgulama
Adım 1: İlk olarak HTML kodlarını yazarak başlıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <form action=""> <label>İl Bilgileri: <select name="il" id="il"> <option value=""></option> </select> </label> <label>İlçe Bilgileri: <select name="il" id="il"> <option value=""></option> </select> </label> </form> <script> //ajax kodları burada olacak </script> |
Adım 2: HTML kodlarını yukarıdaki gibi yaptıktan sonra fonksiyon.php dosyasında il kayıtlarını yüklemek için gerekli olan ilGetir() fonksiyonu yazıyoruz.
fonksiyon.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php include "baglan.php"; function ilGetir(){ global $baglan; $sql ="SELECT * FROM iller"; $sorgu = $baglan->prepare($sql); $sorgu->execute(); return $sorgu->fetchAll(); } |
Adım 3: Şimdi İl kayıtları için il bilgileri HTML dosyasına bağlayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php include "fonksiyon.php"; $iller = ilGetir(); ?> <form action=""> <label>İl Bilgileri: <select name="il" id="il"> <?php foreach($iller as $il): ?> <option value="<?=$il['id']?>"><?=$il['sehiradi']?></option> <?php endforeach; ?> </select> </label> <label>İlçe Bilgileri: <select name="ilce" id="ilce"> </select> </label> </form> |

Adım 4: İl kayıtlarımız geldi. Şimdi ilçe kayıtları için gerekli PHP fonksiyonunu yazalım. fonksiyon.php dosyasına ilceGetir() fonksiyonunu ekleyelim. Ayrıca JS ile kayıtları çekmek için $_GET[“sehirid”] şartını da ekledik.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php include "baglan.php"; function ilGetir(){ global $baglan; $sql ="SELECT * FROM iller"; $sorgu = $baglan->prepare($sql); $sorgu->execute(); return $sorgu->fetchAll(); } function ilceGetir($sehirId){ global $baglan; $sql ="SELECT * FROM ilceler WHERE sehirid = ?"; $sorgu = $baglan->prepare($sql); $sorgu->execute([ $sehirId ]); return $sorgu->fetchAll(); } //fetch ile sorgulanacak JSON dosyası if(isset($_GET["sehirid"])) echo json_encode(ilceGetir($_GET["sehirid"])); |
Adım 6: İlçe kayıtlarını getirmek için il seçimi yapıldığında sayanın il kaydı ile yönlenmesi için gerekli olan JavaScript kodunu yazıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <script> document.querySelector("#il").onchange=function(){ //fonksiyon dosyasının bulunduğu adresi tanımlayın. let adres = window.location.origin+"/tasarimkodlama/fonksiyon.php"; adres +="?sehirid="+this.value; //İlçe Kayıtları Çekiliyor. fetch(adres) .then(response => response.json())//parse json data .then(function(ilceler){ document.querySelector("#ilce").innerText="" ilceler.forEach(ilce =>{ //Çekilen ilçe kayıtlarını option oluşturup ilce kutusnuna ekliyoruz. const opt = document.createElement("option") opt.innerText = ilce.ilceadi opt.value=ilce.id //ilce select kutusuna ekle document.querySelector("#ilce").appendChild(opt); }) }) } </script> |
Kodların yazımı bu kadardı istediğimiz şekilde il ilçe yada ürün marka seçimi yapıp combobox öğelerini dolurabiliriz. Kodların dosyalar halinde yazılmışı aşağıdaki gibidir.
PHP MySQL JavaScript il ilçe Sorgulama
baglan.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php /* Sürücü isteğiyle bir ODBC veritabanına bağlanalım */ $dsn = 'mysql:dbname=tasarimkodlama;host=127.0.0.1'; $user = 'root'; $password = ''; try { $baglan = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Bağlantı kurulamadı: ' . $e->getMessage(); } ?> |
fonksiyon.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php include "baglan.php"; function ilGetir(){ global $baglan; $sql ="SELECT * FROM iller"; $sorgu = $baglan->prepare($sql); $sorgu->execute(); return $sorgu->fetchAll(); } function ilceGetir($sehirId){ global $baglan; $sql ="SELECT * FROM ilceler WHERE sehirid = ?"; $sorgu = $baglan->prepare($sql); $sorgu->execute([ $sehirId ]); return $sorgu->fetchAll(); } //fetch ile sorgulanacak JSON dosyası if(isset($_GET["sehirid"])) echo json_encode(ilceGetir($_GET["sehirid"])); |
illce.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TASARIM KODLAMA</title> </head> <body> <?php include "fonksiyon.php"; $iller = ilGetir(); ?> <form action=""> <label>İl Bilgileri: <select name="il" id="il"> <?php foreach($iller as $il): ?> <option value="<?=$il['id']?>"><?=$il['sehiradi']?></option> <?php endforeach; ?> </select> </label> <label>İlçe Bilgileri: <select name="ilce" id="ilce"> </select> </label> </form> <script> document.querySelector("#il").onchange=function(){ //fonksiyon dosyasının bulunduğu adresi tanımlayın. let adres = window.location.origin+"/tasarimkodlama/fonksiyon.php"; adres +="?sehirid="+this.value; //İlçe Kayıtları Çekiliyor. fetch(adres) .then(response => response.json())//parse json data .then(function(ilceler){ document.querySelector("#ilce").innerText="" ilceler.forEach(ilce =>{ //Çekilen ilçe kayıtlarını option oluşturup ilce kutusnuna ekliyoruz. const opt = document.createElement("option") opt.innerText = ilce.ilceadi opt.value=ilce.id //ilce select kutusuna ekle document.querySelector("#ilce").appendChild(opt); }) }) } </script> </body> </html> |
Ekran Çıktısı:

Teşekkürler.
Güzel çalışma
hocam selamlar.Peki bu yapıya php ile update ekranında nasıl verileri çekicez?
merhaba burda il ilçe seçimi yapıldıktan sonra seçilen il ilçeye ait kişiler nasıl listelenir?