如何解决数据表-如何对数据表显示的内容和数据库分别进行搜索?
我正在通过MVC Codeigniter 3框架使用数据表,并且可以选择服务器端,在每一列的标题中都有一个搜索字段,对这些字段的搜索是通过发送对每个字段的搜索来完成的字段返回返回信息的数据库查询。
jQuery
var table = $('#datatable_serv').DataTable({
"responsive": true,"processing": true,"serverSide": true,"fixedHeader": true,//"fixedColumns": true,//"autowidth": true,"lengthMenu": [[10,25,50,-1],[10,"Todos"]],"ajax": {
"url": mostrarcontenido,//url php server
"type": "POST","data": function ( data ) {
data.searchidpedido = $('#id_pedido').val();
data.searchnum = $('#nºfact').val();
data.searchfecha = $('#fecha').val();
data.searchreferencia = $('#referencia').val();
data.searchproducto = $('#producto').val();
data.searchcantidad = $('#cantidad').val();
data.searchpreciocosto = $('#preciocosto').val();
data.searchtotalsiniva = $('#totalsiniva').val();
data.searchtranspo = $('#transpo').val();
data.searchcomi = $('#comi').val();
data.searchbenefi = $('#benefi').val();
}
},
关键是有3个字段,数据不在数据库中,而是在显示信息时计算出来的。
这些是字段搜索: view.html
<thead id="principal">
<tr style="background: #a34590; color: white; text-shadow: 1px 1px 1px #000;">
<th style="width:10%">Id_pedido</th>
<th style="width:10%">NºFact</th>
<th style="width:10%">Fecha</th>
<th style="width:10%">Referencia</th>
<th style="width:10%">Producto</th>
<th style="width:10%">Cantidad</th>
<th style="width:10%">Precio Costo</th>
<th style="width:10%">Total Sin Iva</th>
<th style="width:10%">Transpo</th>
<th style="width:10%">Trans Costo</th><!--independent search database-->
<th style="width:10%">Comi</th>
<th style="width:10%">Benefi</th>
<th style="width:10%">Trans</th><!--independent search database-->
<th style="width:10%">Método de Pago</th>
<th style="width:10%" class="botones">Edición</th>
</tr>
</thead>
当浏览器中的过程数据表显示此内容时,除输入字段的ID之外,其他字段显示类似:
<th style="padding:0 !important;"><input type="text" class="column_search" id="id_pedido" placeholder="Buscar Id_pedido"></th>
服务器从搜索中检索信息然后进行处理,这是数据库中搜索代码的一部分 controller.php
if( isset($_POST['start']) && isset($_POST['draw']) && isset($_POST['search']) && isset($_POST['length']) && isset($_POST['order']) ){
$draw = intval($this->input->post("draw"));
//$search = $_POST["search"]["value"];
$search= $this->input->post("search");
$search = $search['value'];
$length = $_POST["length"];
$start = $_POST['start'];
$order = $_POST["order"];
}
search_array = array(
'id_order' => $this->input->post("searchpedido"),'o.invoice_number' => $this->input->post("searchnum"),'o.date_add'=> $this->input->post("searchfecha"),'o.reference'=> $this->input->post("searchreferencia"),'d.product_name'=> $this->input->post("searchproducto"),'d.product_quantity'=> $this->input->post("searchcantidad"),'d.total_price_tax_excl'=> $this->input->post("searchtotalsiniva"),'tp.precio_transporte'=> $this->input->post("transpo"),);
$output = array(
"draw" => intval($_POST["draw"]),"recordsTotal" => $this->model_side_server->serv_side_total_records($search,$search_array,$order,$start,$length,$order_column),"recordsFiltered" => $this->model_side_server->serv_side_records_filter($search,"data" => $data
);
所以我想知道的是我如何独立于其余三个字段进行搜索,因此当我在这些字段之一中进行搜索时,它会查看数据表中已经显示的内容,并且而不是发送查询。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。