<?php
/* Database connection start */
$servername = "localhost";
$username = "root";
$password = "4321";
$dbname = "salecentral";
$conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());
mysqli_set_charset($conn,"utf8");
/* Database connection end */
// storing request (ie, get/post) global array to a variable
$requestData= $_REQUEST;
$columns = array(
// datatable column index => database column name
0 =>'ptype',
1 =>'date',
2 =>'name_partner',
3 =>'po_no',
4 => 'qt_no',
5 => 'com',
6 => 'all_file',
7 => 'Ename'
);
// getting total number records without any search
$sql = "......";
$query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
$totalData = mysqli_num_rows($query);
$totalFiltered = $totalData; // when there is no search parameter then total number rows = total number filtered rows.
$sql = "......";
if( !empty($requestData['search']['value']) ) { // if there is a search parameter, $requestData['search']['value'] contains search parameter
$sql.=" AND ( ptype LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR date LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR name_partner LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR po_no LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR qt_no LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR com LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR Ename LIKE '%".$requestData['search']['value']."%' )";
}
$query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
$totalFiltered = mysqli_num_rows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result.
$sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
/* $requestData['order'][0]['column'] contains colmun index, $requestData['order'][0]['dir'] contains order such as asc/desc */
$query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
$data = array();
while( $row=mysqli_fetch_array($query) ) { // preparing an array
$idPO= $row["idPO"];
$nestedData=array();
if($row['ptype']=='po') { $nestedData[] = "PO";}
if($row['ptype']=='ใบเคลม') { $nestedData[] = "ใบเคลม";}
if($row['com']=='CC') { $nestedData[] = "<div style='color: red;opacity:0.0;'>$row[com]</div><img src='images/central.png' height='40px'/>";}
if($row['com']=='CL') { $nestedData[] = "<div style='color: red;opacity:0.0;'>$row[com]</div><img src='images/clwheel.png' height='40px'/>";}
if($row['com']=='DS') { $nestedData[] = "<div style='color: red;opacity:0.0;'>$row[com]</div><img src='images/dreamshop.png' height='40px'/>";}
list($Year,$month,$day) = explode("-",$row['date']);
$nestedData[] = (int)$day."/".(int)$month."/".($Year+543);
$nestedData[] = $row["po_no"];
if($row['qt_no']!= "ประวัติลูกค้า" && $row['qt_no']!= "ข้อมูลSale"){
if (strpos($row['qt_no'],'Rev'))
{ $nestedData[] = "<a class='example1' href='viewEdit$row[com].php?idx=$row[qt_no]'>$row[qt_no]</a>";}
else{ $nestedData[] = "<a class='example1' href='view$row[com].php?idx=$row[qt_no]'>$row[qt_no]</a>";}
} else { $nestedData[] = $row['qt_no'];}
$nestedData[] = $row["name_partner"];
/* $row["all_file"] คือ ไฟล์ที่มีทั้งหมดของใบ po นั้น แล้วแต่ว่า poหนึ่งๆจะมีกี่ใบก็ได้ GROUP_CONCAT( po_detail.file ) AS all_file ตย. เช่น po.no=PO0005941 มี1ไฟล์ ชื่อ 181125591.jpg $row["all_file"]=181125591.jpg
po.no=F31591 มี2ไฟล์ ชื่อ 181125592.jpg,181125593.jpg $row["all_file"]=181125592.jpg,181125593.jpg
*/
$array = explode(',', $row["all_file"]);
foreach(array_unique($array ) as $val){
list($name,$type) = explode(".",$val);
if ($type =='pdf') { $nestedData[] = "<a class='example1' href='images/po/$val'><img src='images/po/PDF-icon.png' align='left' width='60px'/></a>";}
else { $nestedData[] = "<a class='example1' href='preview.php?type=po&images=$val'><img src='images/po/$val' width='60px'/></a>";}
}
/*list($name,$type) = explode(".",$row['file']);
if ($type =='pdf') { $nestedData[] = "<a class='example1' href='images/po/$row[file]'><img src='images/po/PDF-icon.png' align='left' width='60px'/></a>";}
else { $nestedData[] = "<a class='example1' href='preview.php?type=po&images=$row[file]'><img src='images/po/$row[file]' width='60px'/></a>";}
*/$nestedData[] = $row['Ename']." (".$row['Enname'].")";
$nestedData[] = "<a class='example1' href='checkEdit.php?idx=$idPO&po=po' target='_self'><img src='../images/edit.png' width='30' title='แก้ไข' border='0' ></a>";
$data[] = $nestedData;
}
$json_data = array(
"draw" => intval( $requestData['draw'] ), // for every request/draw by clientside , they send a number as a parameter, when they recieve a response/data they first check the draw number, so we are sending same number in draw.
"recordsTotal" => intval( $totalData ), // total number of records
"recordsFiltered" => intval( $totalFiltered ), // total number of records after searching, if there is no searching then totalFiltered = totalData
"data" => $data // total data array
);
echo json_encode($json_data); // send data as json format
?>
$sql = "SELECT a.id AS idPO, a.date, c.name_partner, a.po_no, a.qt_no, a.com, d.Ename, d.Enname, a.ptype, GROUP_CONCAT( b.file ) AS all_file
FROM po a
LEFT JOIN partner c ON a.id_partner = c.id_partner
LEFT JOIN employee d ON a.id_author = d.Eid
LEFT JOIN po_detail b ON a.id = b.id_po
WHERE b.id_po IS NOT NULL
AND 1=1 GROUP BY a.id";
if( !empty($requestData['search']['value']) ) { // if there is a search parameter, $requestData['search']['value'] contains search parameter
$sql.=" AND ( ptype LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR date LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR name_partner LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR po_no LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR qt_no LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR com LIKE '%".$requestData['search']['value']."%' ";
$sql.=" OR Ename LIKE '%".$requestData['search']['value']."%' )";
}
$query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");
$totalFiltered = mysqli_num_rows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result.
$sql.=" ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start']." ,".$requestData['length']." ";
/* $requestData['order'][0]['column'] contains colmun index, $requestData['order'][0]['dir'] contains order such as asc/desc */
$query=mysqli_query($conn, $sql) or die("employee-grid-data.php: get employees");