File "datatable.php"
Full Path: /home/analogde/www/Design/fileman/Fusion/table_mysql_01/datatable.php
File size: 2.42 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// Database Connection
include 'connexion.php';
// Reading value
$draw = $_POST['draw'];
$row = $_POST['start'];
$rowperpage = $_POST['length']; // Rows display per page
$columnIndex = $_POST['order'][0]['column']; // Column index
$columnName = $_POST['columns'][$columnIndex]['data']; // Column name
$columnSortOrder = $_POST['order'][0]['dir']; // asc or desc
$searchValue = $_POST['search']['value']; // Search value
$searchArray = array();
// Search
$searchQuery = " ";
if($searchValue != ''){
$searchQuery = " AND (email LIKE :email OR
first_name LIKE :first_name OR
last_name LIKE :last_name OR
address LIKE :address ) ";
$searchArray = array(
'email'=>"%$searchValue%",
'first_name'=>"%$searchValue%",
'last_name'=>"%$searchValue%",
'address'=>"%$searchValue%"
);
}
// Total number of records without filtering
$stmt = $conn->prepare("SELECT COUNT(*) AS allcount FROM employees ");
$stmt->execute();
$records = $stmt->fetch();
$totalRecords = $records['allcount'];
echo $totalRecords;
// Total number of records with filtering
$stmt = $conn->prepare("SELECT COUNT(*) AS allcount FROM employees WHERE 1 ".$searchQuery);
$stmt->execute($searchArray);
$records = $stmt->fetch();
$totalRecordwithFilter = $records['allcount'];
// Fetch records
$stmt = $conn->prepare("SELECT * FROM employees WHERE 1 ".$searchQuery." ORDER BY ".$columnName." ".$columnSortOrder." LIMIT :limit,:offset");
// Bind values
foreach ($searchArray as $key=>$search) {
$stmt->bindValue(':'.$key, $search,PDO::PARAM_STR);
}
$stmt->bindValue(':limit', (int)$row, PDO::PARAM_INT);
$stmt->bindValue(':offset', (int)$rowperpage, PDO::PARAM_INT);
$stmt->execute();
$empRecords = $stmt->fetchAll();
$data = array();
foreach ($empRecords as $row) {
$data[] = array(
"email"=>$row['email'],
"first_name"=>$row['first_name'],
"last_name"=>$row['last_name'],
"address"=>$row['address']
);
}
// Response
$response = array(
"draw" => intval($draw),
"iTotalRecords" => $totalRecords,
"iTotalDisplayRecords" => $totalRecordwithFilter,
"aaData" => $data
);
print_r($response);
echo json_encode($response);