By GokiSoft.com|
20:18 25/11/2022|
Học PHP
[Source Code] Tối ưu code quản lý sinh viên - C2206L
#add.php
<?php
require_once('dbhelper.php');
if(!empty($_POST)) {
$fullname = $_POST['fullname'];
$email = $_POST['email'];
$birthday = $_POST['birthday'];
$address = $_POST['address'];
//B2. Them/sua/xoa/lay du lieu tu database -> insert/update/delete/select
$sql = "insert into students(fullname, email, birthday, address) values ('$fullname', '$email', '$birthday', '$address')";
query($sql);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Add new student - Page</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 new student</h2>
</div>
<div class="panel-body">
<form method="post">
<div class="form-group">
<label for="usr">Name:</label>
<input required="true" type="text" class="form-control" id="usr" name="fullname" value="">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input required="true" type="email" class="form-control" id="email" name="email" value="">
</div>
<div class="form-group">
<label for="birthday">Birthday:</label>
<input type="date" class="form-control" id="birthday" name="birthday" value="">
</div>
<div class="form-group">
<label for="address">Address:</label>
<input type="text" class="form-control" id="address" name="address" value="">
</div>
<button type="submit" class="btn btn-success">Save Data</button>
<p>
<a href="show.php">Back to list</a>
</p>
</form>
</div>
</div>
</div>
</body>
</html>
#config.php
<?php
define('HOST', 'localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DB', 'C2206L');
#dbhelper.php
<?php
require_once('config.php');
function query($sql) {
//B1. Mo ket noi toi CSDL
$conn = mysqli_connect(HOST, USERNAME, PASSWORD, DB);
mysqli_set_charset($conn, 'utf8');
//B2. Them/sua/xoa/lay du lieu tu database -> insert/update/delete/select
mysqli_query($conn, $sql);
//B3. Dong ket noi toi CSDL
mysqli_close($conn);
}
function queryResult($sql, $isSingle = false) {
//B1. Mo ket noi toi CSDL
$conn = mysqli_connect(HOST, USERNAME, PASSWORD, DB);
mysqli_set_charset($conn, 'utf8');
//B2. Them/sua/xoa/lay du lieu tu database -> insert/update/delete/select
$resultset = mysqli_query($conn, $sql);
$data = [];
while(($row = mysqli_fetch_array($resultset, 1)) != null) {
$data[] = $row;
}
//B3. Dong ket noi toi CSDL
mysqli_close($conn);
if($isSingle) {
if(count($data) == 0) return null;
return $data[0];
}
return $data;
}
#delete.php
<?php
require_once('dbhelper.php');
if(isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "delete from students where id = $id";
query($sql);
}
header('Location: show.php');
#edit.php
<?php
require_once('dbhelper.php');
$id = $fullname = $email = $birthday = $address = "";
if(!empty($_POST)) {
$id = $_POST['id'];
$fullname = $_POST['fullname'];
$email = $_POST['email'];
$birthday = $_POST['birthday'];
$address = $_POST['address'];
$sql = "update students set fullname = '$fullname', email = '$email', birthday = '$birthday', address = '$address' where id = $id";
query($sql);
header('Location: show.php');
}
if(isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "select * from students where id = $id";
$row = queryResult($sql, true);
if($row != null) {
$id = $row['id'];
$fullname = $row['fullname'];
$email = $row['email'];
$birthday = $row['birthday'];
$address = $row['address'];
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Edit new student - Page</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">Edit new student</h2>
</div>
<div class="panel-body">
<form method="post">
<div class="form-group">
<label for="usr">Name:</label>
<input required="true" type="text" class="form-control" id="id" name="id" value="<?=$id?>" style="display: none;">
<input required="true" type="text" class="form-control" id="usr" name="fullname" value="<?=$fullname?>">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input required="true" type="email" class="form-control" id="email" name="email" value="<?=$email?>">
</div>
<div class="form-group">
<label for="birthday">Birthday:</label>
<input type="date" class="form-control" id="birthday" name="birthday" value="<?=$birthday?>">
</div>
<div class="form-group">
<label for="address">Address:</label>
<input type="text" class="form-control" id="address" name="address" value="<?=$address?>">
</div>
<button type="submit" class="btn btn-warning">Save Data</button>
<p>
<a href="show.php">Back to list</a>
</p>
</form>
</div>
</div>
</div>
</body>
</html>
#readme.txt
Nội dung kiến thức:
- Tối ưu source code (database)
- Code -> vài chục file, 100 file, ...
-> Kết nối CSDL -> nhiều ->
- Vấn đề
-> Thay đổi thông tin server -> sửa rất nhiều nơi
-> Thay đổi thư viện kết nối database -> Sửa rất nhiều nơi
- Xoá dữ liệu
- Cookie
#show.php
<?php
require_once('dbhelper.php');
$sql = "select * from students";
$data = queryResult($sql);
?>
<!DOCTYPE html>
<html>
<head>
<title>Show student - Page</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">
<a href="add.php"><button class="btn btn-success mb-2 mt-2">Add new student</button></a>
<div class="panel panel-primary">
<div class="panel-body">
<table class="table table-bordered">
<thead>
<tr>
<th>No</th>
<th>Full Name</th>
<th>Email</th>
<th>Birthday</th>
<th>Address</th>
<th style="width: 190px"></th>
</tr>
</thead>
<tbody>
<?php
$count = 0;
foreach ($data as $item) {
echo '<tr>
<td>'.++$count.'</td>
<td>'.$item['fullname'].'</td>
<td>'.$item['email'].'</td>
<td>'.$item['birthday'].'</td>
<td>'.$item['address'].'</td>
<td>
<a href="edit.php?id='.$item['id'].'"><button class="btn btn-warning">Edit</button></a>
<a href="delete.php?id='.$item['id'].'"><button class="btn btn-danger">Remove</button></a>
</td>
</tr>';
}
?>
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
#cookie.php
<?php
// B1. Them du lieu vao Cookie
// setcookie('fullname', 'TRAN VAN A', time() + 200, '/');
// B2. Lay du lieu tu Cookie
// var_dump($_COOKIE);
// if(isset($_COOKIE['fullname'])) {
// echo $_COOKIE['fullname'];
// }
// B3. Sua du lieu
// setcookie('fullname', 'TRAN VAN A', time() + 200, '/');
// B4. Xoa du lieu
// setcookie('fullname', 'TRAN VAN A', time(), '/');
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)