06-04-2024
This commit is contained in:
40
test/action.php
Normal file
40
test/action.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
//action.php
|
||||
|
||||
//include('database_connection.php');
|
||||
|
||||
if($_POST['action'] == 'edit')
|
||||
{
|
||||
$data = array(
|
||||
':first_name' => $_POST['first_name'],
|
||||
':last_name' => $_POST['last_name'],
|
||||
':gender' => $_POST['gender'],
|
||||
':id' => $_POST['id']
|
||||
);
|
||||
|
||||
$query = "
|
||||
UPDATE tbl_sample
|
||||
SET first_name = :first_name,
|
||||
last_name = :last_name,
|
||||
gender = :gender
|
||||
WHERE id = :id
|
||||
";
|
||||
$statement = $connect->prepare($query);
|
||||
$statement->execute($data);
|
||||
echo json_encode($_POST);
|
||||
}
|
||||
|
||||
if($_POST['action'] == 'delete')
|
||||
{
|
||||
$query = "
|
||||
DELETE FROM tbl_sample
|
||||
WHERE id = '".$_POST["id"]."'
|
||||
";
|
||||
$statement = $connect->prepare($query);
|
||||
$statement->execute();
|
||||
echo json_encode($_POST);
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
7
test/database_connection.php
Normal file
7
test/database_connection.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
//database_connection.php
|
||||
|
||||
$connect = new PDO("mysql:host=localhost; dbname=testing", "root", "sncfp1p2");
|
||||
|
||||
?>
|
||||
78
test/fetch.php
Normal file
78
test/fetch.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
//fetch.php
|
||||
|
||||
include('database_connection.php'); // $connect
|
||||
|
||||
$column = array("id", "first_name", "last_name", "gender");
|
||||
|
||||
$query = "SELECT * FROM tbl_sample ";
|
||||
|
||||
if(isset($_POST["search"]["value"]))
|
||||
{
|
||||
$query .= '
|
||||
WHERE first_name LIKE "%'.$_POST["search"]["value"].'%"
|
||||
OR last_name LIKE "%'.$_POST["search"]["value"].'%"
|
||||
OR gender LIKE "%'.$_POST["search"]["value"].'%"
|
||||
';
|
||||
}
|
||||
|
||||
if(isset($_POST["order"]))
|
||||
{
|
||||
$query .= 'ORDER BY '.$column[$_POST['order']['0']['column']].' '.$_POST['order']['0']['dir'].' ';
|
||||
}
|
||||
else
|
||||
{
|
||||
$query .= 'ORDER BY id DESC ';
|
||||
}
|
||||
$query1 = '';
|
||||
|
||||
if($_POST["length"] != -1)
|
||||
{
|
||||
$query1 = 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
|
||||
}
|
||||
//echo $query1;
|
||||
//echo $query;
|
||||
$statement = $connect->prepare($query);
|
||||
|
||||
$statement->execute();
|
||||
|
||||
$number_filter_row = $statement->rowCount(); // nb de result de query
|
||||
|
||||
//echo $query1;
|
||||
$statement = $connect->prepare($query . $query1);
|
||||
|
||||
$statement->execute();
|
||||
|
||||
$result = $statement->fetchAll();
|
||||
|
||||
$data = array();
|
||||
|
||||
foreach($result as $row)
|
||||
{
|
||||
$sub_array = array();
|
||||
$sub_array[] = $row['id'];
|
||||
$sub_array[] = $row['first_name'];
|
||||
$sub_array[] = $row['last_name'];
|
||||
$sub_array[] = $row['gender'];
|
||||
$data[] = $sub_array;
|
||||
}
|
||||
|
||||
function count_all_data($connect)
|
||||
{
|
||||
$query = "SELECT * FROM tbl_sample";
|
||||
$statement = $connect->prepare($query);
|
||||
$statement->execute();
|
||||
return $statement->rowCount();
|
||||
}
|
||||
|
||||
$output = array(
|
||||
'draw' => intval($_POST['draw']),
|
||||
'recordsTotal' => count_all_data($connect),
|
||||
'recordsFiltered' => $number_filter_row,
|
||||
'data' => $data
|
||||
);
|
||||
|
||||
echo json_encode($output);
|
||||
|
||||
?>
|
||||
74
test/index.php
Normal file
74
test/index.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>How to use Tabledit plugin with jQuery Datatable in PHP Ajax</title>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
|
||||
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css" />
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
|
||||
<script src="https://markcell.github.io/jquery-tabledit/assets/js/tabledit.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h3 align="center">How to use Tabledit plugin with jQuery Datatable in PHP Ajax</h3>
|
||||
<br />
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">Sample Data</div>
|
||||
<div class="panel-body">
|
||||
<div class="table-responsive">
|
||||
<table id="sample_data" class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>First Name</th>
|
||||
<th>Last Name</th>
|
||||
<th>Gender</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<script type="text/javascript" language="javascript" >
|
||||
$(document).ready(function(){
|
||||
|
||||
var dataTable = $('#sample_data').DataTable({
|
||||
"processing" : true,
|
||||
"serverSide" : true,
|
||||
"order" : [],
|
||||
"ajax" : {
|
||||
url:"fetch.php",
|
||||
type:"POST"
|
||||
}
|
||||
});
|
||||
|
||||
$('#sample_data').on('draw.dt', function(){
|
||||
$('#sample_data').Tabledit({
|
||||
url:'action.php',
|
||||
dataType:'json',
|
||||
columns:{
|
||||
identifier : [0, 'id'],
|
||||
editable:[[1, 'first_name'], [2, 'last_name'], [3, 'gender', '{"1":"Male","2":"Female"}']]
|
||||
},
|
||||
restoreButton:false,
|
||||
onSuccess:function(data, textStatus, jqXHR)
|
||||
{
|
||||
if(data.action == 'delete')
|
||||
{
|
||||
$('#' + data.id).remove();
|
||||
$('#sample_data').DataTable().ajax.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user