Tengo las siguientes dos tablas:
COMPRAS
idcompra-idcliente-observacion-fecha_ingreso
1 1
2 1
3 2
4 2
...
CLIENTES
idcliente-nombre-apellido-direccion-telefono-movil-dni
1
2
3
4
...
Este es el codigo que inicia datatables:
Código Javascript
:
Ver original$('#pagos').DataTable({
"bProcessing": true,
"serverSide": true,
"ajax":{
url :"server_processing.php",
type: "post"
}
});
Esta es la tabla HTML
Este es el archivo server_processing.php que busca los datos server side:
Código PHP:
Ver original<?php
$hostname = 'localhost';
$dbname = 'ap_formato';
$dbusername = 'root';
$dbpassword = '';
$connection = mysql_connect($hostname, $dbusername, $dbpassword); if(!$connection) {
}
if(!$db_select) {
}
// initilize all variable
$params = $columns = $totalRecords = $data = array();
$params = $_REQUEST;
$where = $sqlTot = $sqlRec = "";
if( !empty($params['search']['value']) ) { //$where .=" WHERE ( nombre LIKE '%".$params['search']['value']."%' )";
/*$where .=" OR employee_salary LIKE '".$params['search']['value']."%' ";
$where .=" OR employee_age LIKE '".$params['search']['value']."%' )";*/
}
$sql = "SELECT * FROM compras ";
$sqlTot .= $sql;
$sqlRec .= $sql;
if(isset($where) && $where != '') { $sqlTot .= $where;
$sqlRec .= $where;
}
$sqlRec .= " ORDER BY fecha_ingreso DESC LIMIT ".$params['start']." ,".$params['length']; //" ORDER BY ". $columns[$params['order'][0]['column']]." ".$params['order'][0]['dir'].
$sqlcli = "select * from clientes where idcliente = '$row[idcliente]'";
$nombre = ucwords($tempc['nombre'].' '.$tempc['apellido']); $tmp[0] = $nombre;
$data[] = $tmp;
}
"draw" => intval( $params['draw'] ), "recordsTotal" => intval( $totalRecords ), "recordsFiltered" => intval($totalRecords), "data" => $data
);
?>
El problema es que al tomar los datos via server side, tengo que generar la consulta SQL para los datos que aparecen en cada columna y no puedo hacerlo porque estan en otras tablas, ej:
Código PHP:
Ver originalif( !empty($params['search']['value']) ) { //$where .=" WHERE ( nombre LIKE '%".$params['search']['value']."%' )";
/*$where .=" OR employee_salary LIKE '".$params['search']['value']."%' ";
$where .=" OR employee_age LIKE '".$params['search']['value']."%' )";*/
}
Hay alguna manera de que una vez se carguen todos los datos usar el buscador sin tener que generar una consulta server side ?