php - inner join 4 table in datatables server-side -
i had code php showing data in datatables, php (server-side) not working . whats datatables cannot use inner join ? if can, how fix code ?. , 1 more again, how active searching data in datatables inner join. much:
<?php require_once '../config/config.php'; // use require. can not use include function // storing request (ie, get/post) global array variable $requestdata = $_request; $columns = array( // datatable column index => database column name 0 => 'id_hanca', 1 => 'id_detail_po', 2 => 'ukuran', 3 => 'jumlah_hanca', 4 => 'status_hanca', 5 => 'id_user', 6 => 'id_vendor' ); // getting total number records without search $sql = "select po_detail.id_detail_po, hanca.id_hanca, hanca.ukuran, hanca.jumlah_hanca, user.name_usr, vendor.nama_vendor"; $sql.= "from hanca"; $sql.= "inner join po_detail on po_detail.id_detail_po = hanca.id_detail_po"; $sql.= "inner join user on user.name_usr = hanca.id_user"; $sql.= "inner join vendor on vendor.id_vendor = hanca.id_vendor"; $query = $db->query($sql); $totaldata = $query->num_rows; $totalfiltered = $totaldata; // when there no search parameter total number rows = total number filtered rows. $sql = "select * "; $sql.=" hanca 1=1"; if (!empty($requestdata['search']['value'])) { // if there search parameter, $requestdata['search']['value'] contains search parameter $sql.=" , ( id_hanca '%" . $requestdata['search']['value'] . "%' "; $sql.=" or id_detail_po '%" . $requestdata['search']['value'] . "%' "; $sql.=" or ukuran '%" . $requestdata['search']['value'] . "%' )"; } $query = $db->query($sql); $totalfiltered = $query->num_rows; // when there search parameter have modify total number filtered rows per search result. $sql.=" order " . $columns[$requestdata['order'][0]['column']] . " " . $requestdata['order'][0]['dir'] . " limit " . $requestdata['start'] . " ," . $requestdata['length'] . " "; $query = $db->query($sql); $data = array(); $no = 1; foreach ($query $row) { //nama user // $qry = $db->query("select name_usr user id_usr='" . $row['id_user'] . "'"); // $nm_user = $qry->fetch_assoc(); $nesteddata = array(); $nesteddata[] = $no++; $nesteddata[] = $row['id_detail_po']; $nesteddata[] = $row['ukuran']; $nesteddata[] = $row['jumlah_hanca']; $nesteddata[] = $row['name_usr']; $nesteddata[] = $row['nama_vendor']; // input hiddden include value update cart // add html button action $nesteddata[] = "<a href='#' class=\" btn btn-info btn-xs btn-flat\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"detail belanja\"><span class=\"glyphicon glyphicon-search\"></span> detail</a>"; $data[] = $nesteddata; } $json_data = array( "draw" => intval($requestdata['draw']), // every request/draw clientside , send number parameter, when recieve response/data first check draw number, sending same number in draw. "recordstotal" => intval($totaldata), // total number of records "recordsfiltered" => intval($totalfiltered), // total number of records after searching, if there no searching totalfiltered = totaldata "data" => $data // total data array ); echo json_encode($json_data); // send data json format
you aren't selecting id_user
, id_vendor
colums in select statement... try selecting them below:
$sql = "select po_detail.id_detail_po, hanca.id_hanca, hanca.ukuran, hanca.jumlah_hanca, user.name_usr, vendor.nama_vendor, hanca.id_user, hanca.id_vendor"; $sql.= "from hanca"; //rest of code.....
Comments
Post a Comment