Merhaba arkadaşlar. PHP bilgim çok fazla yok. Basit düzeyde kendi işlerimin kaydını tutmak için bir portal hazırlıyorum. Ama takıldığım bir nokta var.
Veritabanımda siparişler ve müşteriler olmak üzere iki adet tablom var.
Sipariş kayıtları siparişler tablosunda, müşteri bilgileri ise müşteriler tablosunda yer alıyor. Kayıt ekleme, güncelleme bir sıkıntım yok.
Sıkıntı çektiğim nokta şu şekilde. Yeni sipariş ekranına müşteri seçimi için bir adet dropdown ekledim. Bu dropdowndan müşteriler tablosunda yer alan müşteri ismini aşağıdaki kod ile çekiyorum.
Aynı ekranda adres ve telefon için birer adet input box var. Müşterilerden "X Kişi" seçtiğimde "X Kişi" sine ait Adres ve Telefon numaralarını otomatik çektirtmek istiyorum. Ama bunu bir türlü sağlayamadım. Bu noktada yardımcı olursanız çok çok sevinirim.
Hepinize iyi çalışmalar, hayırlı akşamlar dilerim.
option valueye müşterinin id sini ekle, daha sonra onchange eventi kur bir ajax isteği gönder bu müşteri isteği ile birlikte, geriye müşterinin telefon numarasını ve adresini döndür, sonrada inputlara bas hocam. Mantık böyle :)
hsntngr ilginiz için çok teşekkür ederim. Açıkcası projeyi AdminLTE arayüzünü ve PHP noktasında da derslerden yararlanarak ilerletiyorum. JS konusunda bilgi seviyem 0 diyebilirim. Kafamda kuruyorum fakat nasıl bir kod dizilimi oluşturacağımı bilemiyorum. Yazmam gereken satırı bilmiyorum diyebiliriz.
İngilizce biraz araştırdım sonuç elde edemedim, belki de yanlış kelimeler ile arama yapıyorum. Sizin yönlendirebileceğiniz benzer bir örnek var mıdır?
<script> document.querySelector('#musterininadi').addEventListener('change',()=>{ let id = this.value, // olmazsa document.querySelector('#musterininadi') deyin data = {}, xhr = new XMLHttpRequest(); xhr.open('POST','url'); xhr.() => { let response = JSON.parse(xhr.response); // adres id li bir inputa gelen yanıtın içindeki adres keyli değeri ata document.querySelector('#adres').value = response.adres; // telefon id li bir inputa gelen yanıtın içindeki telefon keyli değeri ata document.querySelector('#telefon').value = response.telefon; }; data.id = id; xhr.send(data); }) </script>
server kısmında ise bir array içine adres ve telefon keyleri olan bir array oluşturun ve json_encode edip gönderin.
(Not: test edilmemiştir bir yerlerden hatalar fırlayabilir :)
hsntngr hocam, gönderdiğiniz scripti aşağıdaki şekilde düzenledim.
<script>
document.querySelector('#musterininadi').addEventListener('change',()=>{
let id = this.value, // olmazsa document.querySelector('#musterininadi') deyin
data = {},
xhr = new XMLHttpRequest();
xhr.open('POST','url');
xhr.() => {
let response = JSON.parse(xhr.response);
// adres id li bir inputa gelen yanıtın içindeki adres keyli değeri ata
document.querySelector('#ADRES').value = response.ADRES;
// telefon id li bir inputa gelen yanıtın içindeki telefon keyli değeri ata
document.querySelector('#TELEFON').value = response.TELEFON;
};
data.id = id;
xhr.send(data);
})
</script>
Input value adreslerinide tablodaki şekilde ayarladım:
Ama değişiklik sağlamadı ne yazık ki. Kusura bakmayın size de zahmet veriyorum.