我正在使用数据表并且它有一个内置搜索(如果这就是你所说的),现在我在我的表列表中遇到搜索性别问题,因为每当我搜索&#时34;男性"男性和女性都出现在名单中。我将这样做,它只会过滤性别"男性"如果我搜索男性。但女性如果我寻找女性?对不起,如果我没有尝试任何事情,因为我真的没有想法。我尝试过搜索,但那些与我有相同问题的人没有得到我理解的答案,所以我只是想尝试一下也许你们可以帮助我。如果你不能,因为我没有尝试任何东西,我理解。但我仍然希望。提前谢谢你!
数据库名称 - db_seq
表名 - 简介
表格列 - 姓名,性别,用户名,密码
编辑:我的代码
<?php include('dbcontroller.php');
$sql = "SELECT name, gender FROM profile ORDER by name ASC";
$res = mysqli_query($conn,$sql)or die(mysqli_error());
?>
<table id="batchList" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Gender</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Gender</th>
</tr>
</tfoot>
<tbody>
<?php
while ($row = mysqli_fetch_array($res)) {
$name = $row['name'];
$gender = $row['gender'];
?>
<tr>
<td><?php echo $name;?></td>
<td><?php echo $gender;?></td>
</tr>
<?php
}
?>
</tbody>
</table>
<?php
mysqli_close($conn);
?>
<script>
$(document).ready(function() {
$('#batchList').DataTable();
} );
</script>
答案 0 :(得分:0)
如果您使用的是 ssp 类,下面的示例可能会很有用。
ssp.class.php -> 过滤方法
// Individual column filtering
if ( isset( $request['columns'] ) ) {
for ( $i=0, $ien=count($request['columns']) ; $i<$ien ; $i++ ) {
$requestColumn = $request['columns'][$i];
$columnIdx = array_search( $requestColumn['data'], $dtColumns );
$column = $columns[ $columnIdx ];
$str = $requestColumn['search']['value'];
if ( $requestColumn['searchable'] == 'true' &&
$str != '' ) {
if(!empty($column['db'])){
if ($requestColumn['search']['regex'] == 'true') {
$binding = self::bind( $bindings, $str, PDO::PARAM_STR );
$columnSearch[] = "`".$column['db']."` = ".$binding;
} else {
$binding = self::bind( $bindings, '%'.$str.'%', PDO::PARAM_STR );
$columnSearch[] = "`".$column['db']."` LIKE ".$binding;
}
}
}
}
}
javascript DataTable 的配置对象
initComplete: function () {
this.api().columns().every( function () {
var that = this;
var column = this;
$( 'input', this.footer() ).on( 'keyup change clear', function () {
if ( that.search() !== this.value ) {
that
.search( this.value )
.draw();
}
} );
$( 'select', this.footer() ).on( 'change clear', function () {
if ( that.search() !== this.value ) {
if (this.value === '') {
that
.search( this.value )
.draw();
} else {
that
.search( this.value, true, false)
.draw();
}
}
} );
} );
},