使用Ajax进行Datatable手动搜索



我将Datatable与Ajax一起使用。。。我想手动搜索库仑,但我做不到。

数据表工作正常…一切正常。。。但我无法处理手动搜索。有人能帮我吗?

我尝试的是:

<table id="tedarik_data"  class="table table-bordered table-hover table-sm table-striped " width=100%>
<thead>
<tr>
<th><input type="text" id="soyisim_ara" class="form-control form-control-sm" placeholder="Soyisim Ara..."></th>
<th><input type="text" id="birim_ara" class="form-control form-control-sm" placeholder="Search..."></th>
<th>Güncelle</th>
<th>Sil</th>
</tr>
</thead>
<script>
$('#birim_ara').on( 'keyup', function () {
birim_ara= this.value ;
DataTable.draw();
});

var DataTable = $('#tedarik_data').DataTable({
"processing":true,
"serverSide":true,
"order":[],
"ajax":{
url:"team/fetch.php",
type:"POST",
data:{birim_ara:birim_ara}
},
"columnDefs":[{"targets":[0,1,2,3,4,5,6,7,8,9],"orderable":false,"searchable": true}],
"paging": false,
"searching": false,
"autoWidth": true,
"dom": '<"top"lp<"clear">>rt<"bottom"ifp<"clear">>'
});
</script>

以及下面的team/fetch.php文件;

<?php
include('../db.php');
include('function.php');
$birim_ara = $_POST['birim_ara'];
$query = "SELECT * FROM team WHERE birim LIKE ? ";
$params = array("%$birim_ara%");
$output = array();
$statement = $connection->prepare($query);
$statement->execute($params);
$result = $statement->fetchAll();
$data = array();
$filtered_rows = $statement->rowCount();
foreach($result as $row)
{

$sub_array = array() ;
$sub_array[] = $row["isim"];
$sub_array[] = $row["birim"];

$sub_array[] = '<button type="button" name="update" id="'.$row["id"].'" class="btn btn-warning btn-sm updatemusteri">Update</button>';
$sub_array[] = '<button type="button" name="delete" id="'.$row["id"].'" class="btn btn-danger btn-sm tedarikdelete">delete</button>';
$data[] = $sub_array;
}
$output = array(
"draw"              =>  intval($_POST["draw"]),
"recordsTotal"      =>  $filtered_rows,
"recordsFiltered"   =>  get_total_all_records(),
"data"              =>  $data
);
echo json_encode($output);
?>

我更改了脚本如下:数据发送方法很重要。。。

<script>
var dataTable = $('#team_data').DataTable({
"language": {
"lengthMenu": "Sayfa Başına _MENU_ ürün Göster",
"zeroRecords": "Aradığınız Kriterlere uygun Tedarikçi Bulunamadı, Özür Dileriz!",
"info": "",
"infoEmpty": "Hiç Bir Kayıt Uygun Değil",
"infoFiltered": "(_TOTAL_  Tedarikçi arasından _MAX_ Tedarikçi filtrelendi)",
"search": "Tedarikçiler Arasında Ara",
"paginate": {
"previous": "Önceki ",
"next": "Sonraki "
}},
"processing":true,
"serverSide":true,
"order":[],
'serverMethod': 'post',
'ajax': {
'url':'team/fetch.php',
'data': function(data){
var soyisim_ara= $('#soyisim_ara').val();
var birim_ara= $('#birim_ara').val();
data.soyisim_ara= soyisim_ara;
data.birim_ara= birim_ara;
}
},
"columnDefs":[{"targets":[0,1,2,3,4,5,6],"orderable":false,"searchable": true}],
"paging": true,
"searching": true,
"autoWidth": true,
"dom": '<"top"lp<"clear">>rt<"bottom"ifp<"clear">>'
});
$('#soyisim_ara').keyup(function(){
dataTable.draw();
});
$('#birim_ara').change(function(){
dataTable.draw();
});
</script>

最新更新