lostyazilim
tr.link

PDO il-ilçe Tarzı Uygulama

15 Mesajlar 2.981 Okunma
acebozum
tr.link

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)
Merhaba arkadaşlar. İl ilçe tarzında birşey yapacağım. İnternette araştırdım hep Mysql olarak verilmiş bir türlü PDO ya çeviremedim.Yardımcı olabilir misiniz rica etsem.Veritabanımda 2 adet tablo var biri Fakülte biri Bölüm
Fakültede Fakulte_id , Fakulte_adi var Bölümde Bolum_id , Bolum_adi , Fakulte_id var bunu PDO da nasıl il ilçe tarzında hangisini seçersem onun alt bölümlerini getirecek tarzında ayarlarım.






Bu şekilde bir yapım var. Fakülteleri getirdim fakat ajax ve pdo ile nasıl bölümleri çekebilirim.
 

 

elektronikssl
webimgo

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)


document.querySelector('#fakulte').addEventListener('change',()=>{
let xhr = new XMLHttpRequest(),
data = {};
xhr.open('POST','url');
xhr.() => {
let bolumler = JSON.parse(xhr.responseText),
bolumlerSelect = document.querySelector('#bolum');
bolumler.forEach((bolum)=>{
bolumlerSelect.options[bolumlerSelect.options.length] = new Option(bolum.isim,bolum.id);
})
};
data.fakulte_id = document.querySelector('#fakulte').value;
xhr.send(data);
})


Test etmedim, hata olursa yazarsınız hocam
 

 

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)
hsntngr hocam denedim fakat çalışmadı. Zaten nasıl çalıştığınıda anlamadım yazdığınız kodun. Database bağlantısı yok bölümleri nerden çekmeye çalışıyor. Kodu anlayamadım açıkçası.
 

 

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
-___- hocam o sizin url kısmına yazacağınız url e gidecek seçilen id ye göre fakültenin bölümlerini getireceksiniz. json encode edip göndericeksiniz. ama yukarıda gösterdiğim yapıya uygun key girilmeli id değeri id, bölüm adı isim olarak düzenlenmeli. Sonrasında kendi zaten ekleyecek sizin bölümler selectinize..
 

 

wmaraci
wmaraci

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)
Malesef anlamadım. Json hakkında bilgim yok javascriptte kısıtlı malesef :( bana yapının pdo kısmı lazım aslında









<script>
$(document).ready(function(){
$('#fakulte').change(function(){
$('#bolum').empty();
var id=$(this).val();
$.post("js/ajax.php",{fakulte:id},function(a){
$('#bolum').append(a);
})
});
});
</script>


Bana bu kod için PDO bölümü lazım Şu şekilde yazdım çalışmıyor.

include './include/db-config.php';
if($_POST){
$fakulte=$_POST["fakulte"];
$bul = $db_con->prepare("select * from bolum where fakulte_id = '$fakulte'");
$bul->execute();
while($row = $bul->fetch(PDO::FETCH_ASSOC)){
echo '';
}

}
?>

nasıl çalıştırabilirim. bölümleri getirmiyor bu şekilde nedense.
 

 

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
Çünkü php den javascripte bu şekilde veri gönderemezsiniz, json formatında veri göndermeniz gerekiyor. Çünkü ikisi farklı programlama dilleri, json bu diller arasında bir ingilizce gibi düşünebilirsiniz.

Öncelikle uyarayım verinizi hiç kontrol etmiyorsunuz, hiç bir güvenlik önlemleri almıyorsunuz, pdo sorgunuzda prepare execute metodlarını kullanmanıza rağmen, doğru bir şekilde kullanmıyorsunuz. Bunlara dikkat edin.

Sorunuza gelirsek aşağıda yer alan kod yukarıda yazdığım kod ile düzgün çalışır, jquery kodunuza göre de ayarlayabilirsiniz tabi..


if(isset($_POST["fakulte"]) && !empty($_POST["fakulte"])){
$fakulte=$_POST["fakulte"];
$bul = $db_con->prepare("select * from bolum where fakulte_id = :fakulte_id");
$bul->execute([':fakulte_id'=>$_POST["fakulte"]]);
$bolumler = $bul->fetchAll();
echo json_encode($bolumler);
}
 

 

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)
Çalışmadı hocam bu şekilde. Seçiyorum fakülteyi bölümde herhangi bir oynama olmuyor.
 

 

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
yazdıgım js kodunun ıcıne, onload bolumunda cosole.log(bolumler) yazıp bakar mısın ne veriyor
 

 

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)
hiç bişe vermedi neresine yazmam gerekiyor ?
 

 

4everturk 4everturk WM Aracı Kullanıcı
  • Üyelik 31.10.2017
  • Yaş/Cinsiyet 30 / E
  • Meslek Amatör Yazılımcı
  • Konum Adana
  • Ad Soyad C** A**
  • Mesajlar 173
  • Beğeniler 41 / 28
  • Ticaret 0, (%0)
Sizin java kodunuzu böyle düzenledim ama ordaki "bolum" ne onu anlamadım


bolumler.forEach((bolum)=>{
bolumlerSelect.options[bolumlerSelect.options.length] = new Option(bolum.bolum_adi,bolum.bolum_id);
});


Optiondaki bolum ne hocam?
 

 

wmaraci
wmaraci
Konuyu toplam 4 kişi okuyor. (0 kullanıcı ve 4 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al