@makifgokce, ben de tam onu atacaktım :) Bu derste aslında tam olarak sorudaki olayı anlatıyorum.
Elinde address_ID'lerin var selectbox'dan seçtiğin. Örneğin selectbox html çıktın şöyle olsun;
<select name="address_id" id="address-selectbox">
<option value="">Seçin</option>
<option value="1">Ev</option>
<option value="2">İş</option>
</select>
Selectbox'ı jquery ile dinlersin, bir değişiklik olduğunda yani listeden birini seçtiğinde, hangisini seçtiğini biliyorsun. ID'yi alıp bir ajax dosyasına yollarsın.
$('#address-selectbox').on('change', function(){
let id = $(this).val();
if ( id != '' ){
$.post('ajax/address-change.php', {'address_id': id}, function(response){
if (response.error){
alert(response.error);
} else {
// aşağıda düzelteceğiz burayı
}
}, 'json');
}
});
address-change.php
dosyanda şöyle bir mantıkta olabilir;
<?php
$response = [];
$id = $_POST['id'];
if (!$id){
$response['error'] = 'ID değeri eksik';
} else {
// db den idye ait verileri çekersin
// $row = $db->query('bla bla bla')->fetch(PDO::FETCH_ASSOC);
// eğer varsa bilgileri json olarak geri döndürürsün
if ($row){
$response['data'] = $row;
} else {
$response['error'] = 'Adres bilgisine ulaşılamıyor.';
}
}
echo json_encode($response);
sonuç olarak $.post işlemini yaptıktan sonra eğer başarılıysa else kısmında adres detaylarına ulaşacaksın;
$('#address-selectbox').on('change', function(){
let id = $(this).val();
if ( id != '' ){
$.post('ajax/address-change.php', {'address_id': id}, function(response){
if (response.error){
alert(response.error);
} else {
console.log(response.data);
console.log(response.data.first_name);
console.log(response.data.last_name);
}
}, 'json');
}
});
bu saatten sonra alıp değerleri inputlara doldurabilirsin, ne yapacağına sen karar ver :)
mevcut eklentiler var javascript'de. Örn;
https://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/
http://xoxco.com/projects/code/tagsinput/
https://goodies.pixabay.com/jquery/tag-editor/demo.html
bu cors çok illet bir şey ya.. php tarafında kullandığınız sınıf nedir bilmiyorum ancak zaten Access-Control-Allow-Origin
tanımlanmış gibi. Sunucu tarafında https://enable-cors.org/server.html buradaki adımlardan birisi uygulanabilir belki.
return_url
adında bir get parametreye atama yaparak dönüş işlemi sağlamak en sağlıklısı. Yani girişe yönlendirirken mevcut url'i bu parametreye bildirebilirsin. Böylece giriş url'in şöyle olur;
http://siteadi.com/giris?return_url=haber-duzenle/25 gibi. Sen de giriş yaptıktan sonra return_url
parametresinin değerine yönlendirme işlemi yapabilirsiniz.
bu tooltipten ibaret. jquery tooltip diye aratırsan eminim onlarca örnek bulursun :)
o zaman sorgunu değiştirmen lazım;
SELECT * FROM uyeler WHERE uye_adi = "değişken üye adi"
bu sorguyu çalıştıracaksın, eğer değer dönüyorsa böyle bir üye adı var demektir.
Sorgunda hatalı olan şey, prepare'i kontrol etmen. Normalde fetch()
yaptıktan sonra kontrol etmen gerekir. Şu şekilde test edip dener misin;
$sql_query1 = "SELECT * from domains where domain_id = ?";
$res = $db->prepare($sql_query1);
$res->bindParam(1, $link_id);
$res->execute() or die("Execution failed: ".$res->errorInfo()[2]);
$res->setFetchMode(PDO::FETCH_NUM);
$row = $res->fetch();
if ($row) {
$res->closeCursor();
} else {
$error = $res->errorInfo();
echo "Statement failed: ".$error[2];
}
print_r($row);
ORDER BY uye_id DESC LIMIT 0,1
dersen sorgunda sonuncuyu seçmiş olursun veritabanında
ne için kullanmak istiyorsunuz? bir örnek verirseniz belki yardımcı olabilirim :)