By GokiSoft.com|
15:03 17/06/2020|
Học PHP
[Share Code] Hướng dẫn full code quản lý sinh viên Thêm + sửa + xoá + tìm kiếm + ajax PHP MySQL - Lớp T1907A
Viết website quản lý sinh viên PHP & MySQL - Lập Trình PHP
#guideline.txt
B1. Cấu hình CSDL
- Tạo CSDL -> db1656
- Tạo bảng sinh viên
create table student (
id int primary key auto_increment,
fullname varchar(80) not null,
age int,
address varchar(200)
)
B2. Tạo dự án PHP
#config.php
<?php
define('HOST', 'localhost');
define('DATABASE', 'db1656');
define('USERNAME', 'root');
define('PASSWORD', '');
#dbhelp.php
<?php
require_once ('config.php');
/**
* insert, update, delete -> su dung function
*/
function execute($sql) {
//create connection toi database
$conn = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);
//query
mysqli_query($conn, $sql);
//dong connection
mysqli_close($conn);
}
/**
* su dung cho lenh select => tra ve ket qua
*/
function executeResult($sql) {
//create connection toi database
$conn = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);
//query
$resultset = mysqli_query($conn, $sql);
$list = [];
while ($row = mysqli_fetch_array($resultset, 1)) {
$list[] = $row;
}
//dong connection
mysqli_close($conn);
return $list;
}
#index.php
<?php
require_once ('dbhelp.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>Student Management</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="panel panel-primary">
<div class="panel-heading">
Quản lý thông tin sinh viên
<form method="get">
<input type="text" name="s" class="form-control" style="margin-top: 15px; margin-bottom: 15px;" placeholder="Tìm kiếm theo tên">
</form>
</div>
<div class="panel-body">
<table class="table table-bordered">
<thead>
<tr>
<th>STT</th>
<th>Họ & Tên</th>
<th>Tuổi</th>
<th>Địa chỉ</th>
<th width="60px"></th>
<th width="60px"></th>
</tr>
</thead>
<tbody>
<?php
if (isset($_GET['s']) && $_GET['s'] != '') {
$sql = 'select * from student where fullname like "%'.$_GET['s'].'%"';
} else {
$sql = 'select * from student';
}
$studentList = executeResult($sql);
$index = 1;
foreach ($studentList as $std) {
echo '<tr>
<td>'.($index++).'</td>
<td>'.$std['fullname'].'</td>
<td>'.$std['age'].'</td>
<td>'.$std['address'].'</td>
<td><button class="btn btn-warning" onclick=\'window.open("input.php?id='.$std['id'].'","_self")\'>Edit</button></td>
<td><button class="btn btn-danger" onclick="deleteStudent('.$std['id'].')">Delete</button></td>
</tr>';
}
?>
</tbody>
</table>
<button class="btn btn-success" onclick="window.open('input.php', '_self')">Add Student</button>
</div>
</div>
</div>
<script type="text/javascript">
function deleteStudent(id) {
option = confirm('Bạn có muốn xoá sinh viên này không')
if(!option) {
return;
}
console.log(id)
$.post('delete_student.php', {
'id': id
}, function(data) {
alert(data)
location.reload()
})
}
</script>
</body>
</html>
#input.php
<?php
require_once ('dbhelp.php');
$s_fullname = $s_age = $s_address = '';
if (!empty($_POST)) {
$s_id = '';
if (isset($_POST['fullname'])) {
$s_fullname = $_POST['fullname'];
}
if (isset($_POST['age'])) {
$s_age = $_POST['age'];
}
if (isset($_POST['address'])) {
$s_address = $_POST['address'];
}
if (isset($_POST['id'])) {
$s_id = $_POST['id'];
}
$s_fullname = str_replace('\'', '\\\'', $s_fullname);
$s_age = str_replace('\'', '\\\'', $s_age);
$s_address = str_replace('\'', '\\\'', $s_address);
$s_id = str_replace('\'', '\\\'', $s_id);
if ($s_id != '') {
//update
$sql = "update student set fullname = '$s_fullname', age = '$s_age', address = '$s_address' where id = " .$s_id;
} else {
//insert
$sql = "insert into student(fullname, age, address) value ('$s_fullname', '$s_age', '$s_address')";
}
// echo $sql;
execute($sql);
header('Location: index.php');
die();
}
$id = '';
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = 'select * from student where id = '.$id;
$studentList = executeResult($sql);
if ($studentList != null && count($studentList) > 0) {
$std = $studentList[0];
$s_fullname = $std['fullname'];
$s_age = $std['age'];
$s_address = $std['address'];
} else {
$id = '';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Registation Form * Form Tutorial</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="panel panel-primary">
<div class="panel-heading">
<h2 class="text-center">Add Student</h2>
</div>
<div class="panel-body">
<form method="post">
<div class="form-group">
<label for="usr">Name:</label>
<input type="number" name="id" value="<?=$id?>" style="display: none;">
<input required="true" type="text" class="form-control" id="usr" name="fullname" value="<?=$s_fullname?>">
</div>
<div class="form-group">
<label for="birthday">Age:</label>
<input type="number" class="form-control" id="age" name="age" value="<?=$s_age?>">
</div>
<div class="form-group">
<label for="address">Address:</label>
<input type="text" class="form-control" id="address" name="address" value="<?=$s_address?>">
</div>
<button class="btn btn-success">Save</button>
</form>
</div>
</div>
</div>
</body>
</html>
#delete_student.php
<?php
if (isset($_POST['id'])) {
$id = $_POST['id'];
require_once ('dbhelp.php');
$sql = 'delete from student where id = '.$id;
execute($sql);
echo 'Xoá sinh viên thành công';
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)
![TRẦN VĂN ĐIỆP [Teacher]](https://www.gravatar.com/avatar/ae8d66100c882095c429167b0fc6737f.jpg?s=80&d=mm&r=g)
TRẦN VĂN ĐIỆP
2020-06-17 09:36:01
var getCookies = function(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
}
return cookies;
}
var myCookies = getCookies();
var data = JSON.stringify(myCookies)
console.log(data)
// su dung cho may tinh khac
var data = `{
"_ga": "GA1.2.573316682.1583235013",
"_fbp": "fb.1.1583235014246.911423270",
"test": "true",
"G_ENABLED_IDPS": "google",
"__gads": "ID=caff32260e432056:T=1590057033:S=ALNI_MagxVcyh8LEfdqmAJdqmoVHijjwfQ",
"keycodes": "%5B%222005191258217%22%2C%22200520063704g%22%2C%222005221306542%22%2C%22200522130910E%22%2C%22200522151145r%22%5D",
"_gid": "GA1.2.1132612453.1590340440",
"_fbc": "fb.1.1590994940928.IwAR0rD7e1OtmDcA7OCWbKQ07r7gKd_y47-TTYocKdCq6Vl44eKRdte6Y5eDE",
"currentGroup": "APROTRAIN_ADF",
"role_id": "1",
"selected_item": "9",
"HTTP_REFERER": "https://gokisoft.com/hoc-php.htm",
"XSRF-TOKEN": "eyJpdiI6ImxCUHJKNDQ0ajExMW5YTWMrOWlEOGc9PSIsInZhbHVlIjoiWjBuRWtKUnB6UWQyQ0RXVTNMUVJMdHdrWXREZWo0MDFVMGdjenJaeU5BN2pFRXNQUHpVWmt5TWVabVF5YVZEbyIsIm1hYyI6ImNhNDI0OWUwMDY3NzA3YmYzODk4OTY2NTc1YTBmMmY5YmJkZDhmMGI3YmFhYzI0MzA0ZWU3YzMwNzBkNGJiZDAifQ=="
}`
var myCookies = JSON.parse(data)
for (var key in myCookies) {
var value = myCookies[key]
document.cookie=key+'='+value+';path=/'
}