Arkadaşlar elimde arama tamamlama ile ilgili kodlar var fakat sadece arama yaptığım textbox içerisine etki ediyor. Yapmak istediğim şey şu;
Arama yaptığımda iki textbox'ım olacak ve arama yaptığımda örnek; Ahmeti aradığımda ahmeti 1.textbox'a telefonunu 2.textbox'a. Bunu nasıl yaparım?
Kodlar;
jquery
<script>
$(function(){
var $search = $('#search');
$search.autocomplete({
source: 'kapi.php',
focus: function(event, ui){
$search.val(ui.item.mus_telefon);
},
select: function(event, ui){
// window.location.href = 'https://www.google.com/#q=' + ui.item.mus_adi;
$search.val(ui.item.mus_telefon);
}
});
$search.data('.ui-autocomplete-loading')._renderItem = function( ul, item ){
return $li.appendTo(ul);
};
});
</script>Veriyi çekme;
<?php
try {
$db = new PDO('mysql:host=localhost; db bilgileri);
} catch (PDOException $e ){
die($e->getMessage());
}
$term = $_GET['term'];
$query = $db->query('SELECT * FROM musteriler WHERE mus_adi LIKE "%' . $term . '%"', PDO::FETCH_ASSOC);
if ( $query->rowCount() ){
$data = array();
foreach ( $query as $row ){
$data[] = array(
'value' => $row['mus_adi'],
'mus_id' => $row['mus_id'],
'mus_adi' => $row['mus_adi'],
'mus_telefon' => $row['mus_telefon'],
);
}
echo json_encode($data);
}
?>
Sadece kafanıza oturması için örnek vereceğim.
Burası index.html
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('form').submit(function(){
var veriler = $('form').serialize();
$.ajax({
type: "POST",
url: "test.php",
data: veriler,
dataType: "json",
success:function(cevap){
if(cevap.hata){
$('.sonuc').val(cevap.hata);
}else{
$('.sonuc').val(cevap.telephone);
}
}
})
})
})
</script>
</head>
<body>
<form action="javascript:void(0)" method="post">
<input type="text" name="data" />
</form>
<input type="text" name="telephone" class="sonuc"/>
</body>
</html>Burası da ajax.php kısmı
<?php
try {
$hostname = "localhost";
$dbname = "test";
$dbuser = "root";
$dbpass = "";
$vt = new PDO("mysql:host=".$hostname.";dbname=".$dbname.";charset=utf8;","$dbuser","$dbpass");
}catch(PDOException $e){
echo $e->getMessage();
}
$data = $_POST['data'];
$query = $vt->query("SELECT * FROM test_table WHERE data = '{$data}'");
$islem = $query->fetch(PDO::FETCH_ASSOC);
if(!$islem){
$islem['hata'] = 'Eşleşme Yok';
}
echo json_encode($islem);
?>Yukarıdaki yapıda ilk input olan 'data' inputuna veri girildiğinde eğer veri varsa ona ait olan telefon numarasını .sonuc classına ait inputa değer olarak ekler. Eğer eşleşen sonuç yoksa 'eşleşme yok' uyarısı çıkaracaktır .sonuc classına ait inputta.