CRUD JQUERY AJAX API JSON PHP MYSQL
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script language="javascript">
function showEditor(id)
{
$("#id").val(id);
$.ajax({
type: "GET",
async:true,
url: 'crud.php',
data: {
cmd : 'edit',
id : $("#id").val()
},
success: function (results) {
dataArr = JSON.parse(results);
$("#first_name").val(dataArr[0].first_name);
$("#last_name").val(dataArr[0].last_name);
$("#address").val(dataArr[0].address);
},
error: function (request, status, error) {
alert(request.responseText);
}
});
}
function addUser()
{
$.ajax({
type: "GET",
async:true,
url: 'crud.php',
data: {
cmd : 'add',
first_name : $("#first_name").val(),
last_name : $("#last_name").val(),
address : $("#address").val(),
id : $("#id").val()
},
success: function (results) {
loadData();
},
error: function (request, status, error) {
alert(request.responseText);
}
});
$('.close').click();
}
function setDeletedId(id){
$("#delete_id").val(id);
}
function deleteUser()
{
$.ajax({
type: "GET",
async:true,
url: 'crud.php',
data: {
cmd : 'delete',
id : $("#delete_id").val()
},
success: function (results) {
loadData();
},
error: function (request, status, error) {
alert(request.responseText);
}
});
$('.close').click();
}
function loadData()
{
$.ajax({
type: "GET",
async:true,
url: 'crud.php',
data: {
cmd : 'load_data'
},
success: function (results) {
dataArr = JSON.parse(results);
var str = '';
$("#id_body").html(str);
for(i=0;i<dataArr.length;i++)
{
str += '<tr>'+
'<td>'+dataArr[i].first_name+'</td>'+
'<td>'+dataArr[i].last_name+'</td>'+
'<td>'+dataArr[i].address+'</td>'+
'<td><p data-placement="top" data-toggle="tooltip" title="Edit"><button class="btn btn-primary btn-xs" data-title="Edit" data-toggle="modal" data-target="#edit" onClick="showEditor('+dataArr[i].id+');" ><span class="glyphicon glyphicon-pencil"></span></button></p></td>'+
'<td><p data-placement="top" data-toggle="tooltip" title="Delete"><button class="btn btn-danger btn-xs" data-title="Delete" data-toggle="modal" data-target="#delete" onClick="setDeletedId('+dataArr[i].id+');" ><span class="glyphicon glyphicon-trash"></span></button></p></td>'+
'</tr>';
}
$("#id_body").html(str);
},
error: function (request, status, error) {
alert(request.responseText);
}
});
}
$(document).ready(function(){
loadData();
});
</script>
<div class="container">
<div class="row">
<div class="col-md-12">
<h1>Users Table</h1>
<div class="row">
<div class="col-md-12">
<b></b>
<br>
<a href="#edit" class="btn btn-success" data-toggle="modal" onClick="showEditor('');"><i class="material-icons"></i> <span>Add New User</span></a>
</div>
</div>
<div class="table-responsive">
<table id="mytable" class="table table-bordred table-striped">
<thead>
<th>First name</th>
<th>Last name</th>
<th>Address</th>
<th>Edit</th>
<th>Delete</th>
</thead>
<tbody id="id_body">
</tbody>
</table>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<!---Add new-->
<div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
<h4 class="modal-title custom_align" id="Heading">Add</h4>
</div>
<div class="modal-body">
<div class="form-group">
<input class="form-control " type="text" id="first_name" placeholder="First name">
</div>
<div class="form-group">
<input class="form-control " type="text" id="last_name" placeholder="Last name">
</div>
<div class="form-group">
<input class="form-control " type="text" id="address" placeholder="Address">
</div>
</div>
<div class="modal-footer ">
<input type="hidden" id="id">
<button type="button" class="btn btn-warning btn-lg" style="width: 100%;" onClick="addUser()"><span class="glyphicon glyphicon-ok-sign"></span>Add</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!--Delete-->
<div class="modal fade" id="delete" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
<h4 class="modal-title custom_align" id="Heading">Delete this entry</h4>
</div>
<div class="modal-body">
<div class="alert alert-danger"><span class="glyphicon glyphicon-warning-sign"></span> Are you sure you want to delete this Record?</div>
</div>
<div class="modal-footer ">
<input type="hidden" id="delete_id">
<button type="button" class="btn btn-success" onClick="deleteUser();"><span class="glyphicon glyphicon-ok-sign"></span>Yes</button>
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span>No</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
////////////////////////////////////
<?php
include("connection.php");
$cmd = $_REQUEST['cmd'];
switch($cmd){
case "add":
if(empty($_REQUEST['id']))
{
///Insertion
$sql = "INSERT INTO `users` (`first_name`, `last_name`, `address`)
VALUES ('".$_REQUEST['first_name']."', '".$_REQUEST['last_name']."', '".$_REQUEST['address']."');";
}
else
{
$sql = "update `users` set `first_name`='".$_REQUEST['first_name']."',
`last_name`='".$_REQUEST['last_name']."',
`address`='".$_REQUEST['address']."' WHERE id='".$_REQUEST['id']."'";
}
$result = $conn->query($sql);
break;
case "edit":
//retrive data
$sql = "SELECT * FROM users where id='".$_REQUEST['id']."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
$i=-1;
while($row = $result->fetch_assoc()) {
$i++;
$arr[$i]['id'] = $row["id"];
$arr[$i]['first_name'] = $row["first_name"];
$arr[$i]['last_name'] = $row["last_name"];
$arr[$i]['address'] = $row["address"];
}
} else {
echo "0 results";
}
$conn->close();
echo json_encode($arr);
///////////////////////////////
break;
case "delete":
//retrive data
$sql = "Delete FROM users where id='".$_REQUEST['id']."'";
$result = $conn->query($sql);
$conn->close();
///////////////////////////////
break;
case "load_data":
//load all data
$sql = "SELECT * FROM users ORDER BY id DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
$i=-1;
while($row = $result->fetch_assoc()) {
$i++;
$arr[$i]['id'] = $row["id"];
$arr[$i]['first_name'] = $row["first_name"];
$arr[$i]['last_name'] = $row["last_name"];
$arr[$i]['address'] = $row["address"];
}
}
echo json_encode($arr);
break;
default:
//load all data
$all_data = load_data($conn);
echo json_encode($all_data);
break;
}
?>
//////////////////////////////////
<?php
////mysql datbase connection
$servername = "localhost";
$username = "root";
$password = "secret";
$db = "tutorial_ajax2_test";
// Create connection
$conn = new mysqli($servername, $username, $password,$db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Comentarios
Publicar un comentario