Madhuban Khatri
Posted on March 2, 2023
CRUD stands for Create, Retreive, Update, Delete. In this project, We will create a CRUD application which can create students, Update the students, Retrieve them in Table form and Delete them.
Source Code-
dbconnect.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "mady_ka_db";
$conn = mysqli_connect($servername,$username,$password,$database);
if(!$conn)
{
die("Connection is not established".mysqli_error($conn));
}
?>
home.php
<?php
require("dbconnect.php");
$err = false;
$success = false;
if($_SERVER['REQUEST_METHOD']=='POST')
{
$name = $_POST['sname'];
$roll_no = $_POST['rollno'];
$age = $_POST['age'];
if(empty($name) or empty($roll_no) or empty($age))
{
$err = true;
}
else
{
$sql_query = "INSERT INTO `students` (`student_name`,`rollno`,`age`) VALUES ('$name','$roll_no','$age')";
$result = mysqli_query($conn,$sql_query);
if($result)
{
$success = true;
}
}
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap CRUD App</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
</head>
<body class="bg-primary">
<div class="container my-5">
<h2 class="text-white">CRUD App</h2>
<hr>
<?php
if($err)
{
echo '<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>ERROR !</strong> Please fill the fields.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}
if($success)
{
echo '<div class="alert alert-success alert-dismissible fade show" role="alert">
<strong>SUCCESS !</strong> A Student is added.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
}
?>
<a href="#" class="btn btn-warning" data-bs-toggle="modal" data-bs-target="#newStudentModal">Add New Student</a>
<!-- New Student Modal -->
<div class="modal fade" id="newStudentModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form action="/crud_app/home.php" method="post">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Add a Student</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label for="exampleFormControlInput1" class="form-label">Student Name</label>
<input type="text" name="sname" class="form-control" id="exampleFormControlInput1">
</div>
<div class="mb-3">
<label for="exampleFormControlInput2" class="form-label">Roll Number</label>
<input type="text" name="rollno" class="form-control" id="exampleFormControlInput2">
</div>
<div class="mb-3">
<label for="exampleFormControlInput3" class="form-label">Age</label>
<input type="number" name="age" class="form-control" id="exampleFormControlInput3">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Add</button>
</div>
</form>
</div>
</div>
</div>
<br><br>
<table class="table table-dark table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Student Name</th>
<th scope="col">Roll No</th>
<th scope="col">Age</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
<?php
$sql_query = "SELECT * FROM `students`";
$result = mysqli_query($conn,$sql_query);
$counter = 1;
while($rows = mysqli_fetch_assoc($result))
{
echo '<tr>
<th scope="row">'.$counter.'</th>
<td>'.$rows["student_name"].'</td>
<td>'.$rows["rollno"].'</td>
<td>'.$rows["age"].'</td>
<td>
<a href="#" data-bs-toggle="modal" data-bs-target="#editModal'.$rows['sno'].'">Edit</a>
/
<a href="/crud_app/delete.php?sno='.$rows['sno'].'">Delete</a>
</td>
</tr>';
echo '<div class="modal fade" id="editModal'.$rows['sno'].'" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form action="/crud_app/update.php?sno='.$rows['sno'].'" method="post">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Edit Student</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label for="exampleFormControlInput1" class="form-label">Student Name</label>
<input type="text" name="update_name" class="form-control" value="'.$rows['student_name'].'" id="exampleFormControlInput1">
</div>
<div class="mb-3">
<label for="exampleFormControlInput2" class="form-label">Roll Number</label>
<input type="number" name="update_rollno" class="form-control" value="'.$rows['rollno'].'" id="exampleFormControlInput2">
</div>
<div class="mb-3">
<label for="exampleFormControlInput3" class="form-label">Age</label>
<input type="number" name="update_age" class="form-control" value="'.$rows['age'].'" id="exampleFormControlInput3">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Edit</button>
</div>
</form>
</div>
</div>
</div>';
$counter++;
}
?>
</tbody>
</table>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
</body>
</html>
update.php
<?php
require("dbconnect.php");
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$name = $_POST['update_name'];
$rollno = $_POST['update_rollno'];
$age = $_POST['update_age'];
$sno = $_GET['sno'];
$update_query = "UPDATE `students` SET `student_name` = '$name',`rollno` = '$rollno', `age` = '$age' WHERE `sno` = '$sno'";
$result = mysqli_query($conn, $update_query);
header("location: home.php");
}
?>
delete.php
<?php
require("dbconnect.php");
$sno = $_GET['sno'];
$delete_sql_query = "DELETE FROM `students` WHERE `sno` = '$sno'";
$result = mysqli_query($conn, $delete_sql_query);
header("location: home.php");
?>
Thank you for reading this post. And add your thoughts to build it more beautiful.
💖 💪 🙅 🚩
Madhuban Khatri
Posted on March 2, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
laravel How to implement search functionality in laravel 8 and laravel 7 downwards
September 29, 2020