我有服务器端的数据表。我有多列搜索问题,所有列工作,如果我只搜索一列一列。但如果我多列搜索,过滤器没有工作。例如我只搜索"名称&#34 ;过滤工作,如果我只搜索一个start_date过滤器工作。但如果我同时搜索名称和日期.filter没有工作。 所以这里是我的代码:
//my script:
var table = $('#dataTables');
// begin first table
table.dataTable({
"ajax": {
"url": "<?php echo site_url('leader') ?>",
"type": "POST",
"data": function(d) {
d.full_name = $('#full_name').val();
d.start_date = $('#start_date').val(); //whats right code?
d.end_date = $('#end_date').val(); //whats right code?
},
},
.....
.....
$('#btn-search').click(function(){
var data_tables = $('#dataTables').DataTable();
data_tables
.search( this.value )
.draw();
})
&#13;
<!-- my view: -->
<div class="form-inline">
<div class="form-group">
<input type="text" name="full_name" class="form-control" id="full_name" placeholder="Name"/>
</div>
<div class="form-group">
<div class="input-group date date-picker" data-date-format="dd-mm-yyyy">
<input type="text" name="start_date" class="form-control" readonly id="start_date" size="8">
<span class="input-group-btn">
<button class="btn default" type="button">
<i class="fa fa-calendar"></i>
</button>
</span>
</div>
</div>
<div class="form-group">
<div class="input-group date date-picker" data-date-format="dd-mm-yyyy">
<input type="text" name="end_date" class="form-control" readonly id="end_date" size="8">
<span class="input-group-btn">
<button class="btn default" type="button">
<i class="fa fa-calendar"></i>
</button>
</span>
</div>
</div>
<button class="btn btn-warning" id="btn-search">Search</button>
</div>
&#13;
服务器端:
if ($full_name)
{
$where = "And full_name = '$full_name'";
}
else if($start_date)
{
$where = "And start_date >= to_date('$start_date','DD-MM-YYYY') ";
}
else if($end_date)
{
$where = "And end_date <= to_date('$end_date','DD-MM-YYYY') ";
}
else
{
$where = " "; //how to combine 3 above
}
&#13;
如果我在数据表中搜索多列,如何创建条件?
答案 0 :(得分:0)
您的服务器端代码需要更改 尝试这样的事情:
{{1}}
旁注: 您将此问题标记为与Codeigniter相关的问题 - 是什么原因导致不使用查询构建器? (你的方法有点&#34;不安全&#34; ......)