Index File (with Bootstrap Modal and JavaScript) in PHP
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>PHP CRUD with Bootstrap</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.datatables.net/2.1.8/css/dataTables.bootstrap5.min.css">
</head>
<body>
<!-- Modal -->
<div class="modal fade" id="studentaddmodal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Add Student Data</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form action="insertcode.php" method="POST">
<div class="modal-body">
<div class="mb-3">
<label>First Name</label>
<input type="text" name="fname" class="form-control" placeholder="Enter First Name">
</div>
<div class="mb-3">
<label>Last Name</label>
<input type="text" name="lname" class="form-control" placeholder="Enter Last Name">
</div>
<div class="mb-3">
<label>Course</label>
<input type="text" name="course" class="form-control" placeholder="Enter Course">
</div>
<div class="mb-3">
<label>Phone Number</label>
<input type="number" name="contact" class="form-control" placeholder="Enter Phone Number">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" name="insertdata" class="btn btn-primary">Save Data</button>
</div>
</form>
</div>
</div>
</div>
<!-- ################################################################################### -->
<!-- EDIT Modal (Bootstrap Modal) -->
<div class="modal fade" id="editmodal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Edit Student Data</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form action="updatecode.php" method="POST">
<div class="modal-body">
<input type="hidden" name="update_id" id="update_id">
<div class="mb-3">
<label>First Name</label>
<input type="text" name="fname" id="fname" class="form-control" placeholder="Enter First Name">
</div>
<div class="mb-3">
<label>Last Name</label>
<input type="text" name="lname" id="lname" class="form-control" placeholder="Enter Last Name">
</div>
<div class="mb-3">
<label>Course</label>
<input type="text" name="course" id="course" class="form-control" placeholder="Enter Course">
</div>
<div class="mb-3">
<label>Phone Number</label>
<input type="text" name="contact" id="contact" class="form-control" placeholder="Enter Phone Number">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" name="updatedata" class="btn btn-primary">Update Data</button>
</div>
</form>
</div>
</div>
</div>
<!-- ####################################################################################### -->
<!-- ####################################################################################### -->
<!-- DELETE POP UP FORM (Bootstrap MODAL) -->
<div class="modal fade" id="deletemodal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Delete Student Data</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form action="deletecode.php" method="POST">
<div class="modal-body">
<input type="hidden" name="delete_id" id="delete_id">
<h4>Do you want to Delete this Data ??</h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" name="deletedata" class="btn btn-danger">Delete Data</button>
</div>
</form>
</div>
</div>
</div>
<!-- ####################################################################################### -->
<div class="container py-5">
<div class="jumbotron">
<div class="card">
<h2>PHP CRUD Bootstrap</h2>
</div>
<div class="card">
<div class="card-body">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#studentaddmodal">ADD DATA</button>
</div>
</div>
<div class="card">
<div class="card-body">
<table id="datatableid" class="table table-bordered table-dark">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
<th scope="col">Course</th>
<th scope="col">Contact</th>
<th scope="col">Edit</th>
<th scope="col">Delete</th>
</tr>
</thead>
<?php
include("mysqli_conn.php");
$sql = "SELECT * FROM student";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
foreach ($result as $row) {
?>
<tbody>
<tr>
<td><?php echo $row["id"]; ?></td>
<td><?php echo $row["fname"]; ?></td>
<td><?php echo $row["lname"]; ?></td>
<td><?php echo $row["course"]; ?></td>
<td><?php echo $row["contact"]; ?></td>
<td><button type="button" class="btn btn-success editbtn">Edit</button></th>
<td><button type="button" class="btn btn-danger deletebtn">Delete</button></td>
</tr>
</tbody>
<?php
}
}
} else {
echo "No Record Found.";
}
?>
</table>
</div>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy" crossorigin="anonymous"></script>
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.min.js"></script>
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.bootstrap5.min.js"></script>
<script>
$(document).ready(function() {
$("#datatableid").DataTable({
"pagingType": "full_numbers",
"lengthMenu": [
[10, 25, 50, -1],
[10, 25, 50, "All"]
],
responsive: true,
language: {
search: "_INPUT_",
searchPlaceholder: "Search records",
}
});
});
</script>
<script>
$(document).ready(function() {
$(".deletebtn").on("click", function() {
$("#deletemodal").modal("show");
$tr = $(this).closest("tr");
var data = $tr.children("td").map(function() {
return $(this).text();
}).get();
console.log(data);
$("#delete_id").val(data[0]);
});
});
</script>
<script>
$(document).ready(function() {
$(".editbtn").on("click", function() {
$("#editmodal").modal("show");
$tr = $(this).closest("tr");
var data = $tr.children("td").map(function() {
return $(this).text();
}).get();
console.log(data);
$("#update_id").val(data[0]);
$("#fname").val(data[1]);
$("#lname").val(data[2]);
$("#course").val(data[3]);
$("#contact").val(data[4]);
});
});
</script>
</body>
.png)
.png)
.png)
.png)
.png)
Comments
Post a Comment