Tạo bởi Trắc Nghiệm Việt|
[Share Code] Viết website quản lý sinh viên PHP & MySQL - Lập Trình PHP - C2307L
Học PHP
[Share Code] Viết website quản lý sinh viên PHP & MySQL - Lập Trình PHP - C2307L
Viết website quản lý sinh viên PHP & MySQL - Lập Trình PHP
#config.php
<?php
define('HOSTING', 'localhost:3307');
// define('USERNAME', 'gokisoft');
define('USERNAME', 'root');
// define('PWD', 'iv@*NIFyTdKEgh]D');
define('PWD', '');
define('DATABASE', 'c2307l');
/**
* Query: insert, update, delete
*/
function query($sql) {
// $conn = mysqli_connect('localhost:3307', 'gokisoft', 'iv@*NIFyTdKEgh]D', 'c2307l');
$conn = mysqli_connect(HOSTING, USERNAME, PWD, DATABASE);
mysqli_set_charset($conn, 'utf8');
//B2. Thuc hien insert du lieu vao CSDL
// $sql = "insert into users (fullname, email, phone_number, address, created_at, updated_at) values ('TRAN VAN AAA', 'tranvana@gmail.com', '1234567890', 'Ha Noi', '2023-01-02 09:30:00', '2023-01-02 09:30:00')";
// $sql = "delete from users where id = ".$id;
mysqli_query($conn, $sql);
//B3. Dong ket noi
mysqli_close($conn);
}
function select($sql) {
$conn = mysqli_connect(HOSTING, USERNAME, PWD, DATABASE);
mysqli_set_charset($conn, 'utf8');
//B2. Thuc hien insert du lieu vao CSDL
// $sql = "insert into users (fullname, email, phone_number, address, created_at, updated_at) values ('TRAN VAN AAA', 'tranvana@gmail.com', '1234567890', 'Ha Noi', '2023-01-02 09:30:00', '2023-01-02 09:30:00')";
// $sql = "select * from users";
$resultset = mysqli_query($conn, $sql);
$dataList = [];
while(($row = mysqli_fetch_array($resultset, 1)) !== null) {
$dataList[] = $row;
}
//B3. Dong ket noi
mysqli_close($conn);
return $dataList;
}
#index.php
<!DOCTYPE html>
<html>
<head>
<title>Project Management</title>
<meta charset="utf-8">
</head>
<body>
<p>
<a href="student/index.php">Quản lý sinh viên</a>
</p>
</body>
</html>
#readme.txt
B1. Tạo CSDL
create table student (
id int primary key auto_increment,
fullname varchar(150),
age int,
address varchar(200)
)
B2. Tạo dự án
CRUD
module (student - folder)
index.php
add.php
edit.php
delete.php
#add.php
<?php
require_once('../config.php');
if(!empty($_POST)) {
$fullname = $_POST['fullname'];
$age = $_POST['age'];
$address = $_POST['address'];
$sql = "insert into student(fullname, age, address) values ('$fullname', '$age', '$address')";
query($sql);
header('Location: index.php');
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Thêm Sinh Viên</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Latest compiled and minified CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Latest compiled JavaScript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<style type="text/css">
.form-group {
margin-bottom: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="card">
<div class="card-header bg-info text-white">
NHAP THONG TIN SINH VIEN
</div>
<div class="card-body">
<form method="post">
<div class="form-group">
<label>Ten Sinh Vien:</label>
<input required type="text" name="fullname" class="form-control">
</div>
<div class="form-group">
<label>Tuoi:</label>
<input required type="number" name="age" class="form-control">
</div>
<div class="form-group">
<label>Dia Chi:</label>
<input required type="text" name="address" class="form-control">
</div>
<div class="form-group">
<button class="btn btn-success">Luu</button>
<button type="reset" class="btn btn-warning">Xoa Form</button>
</div>
</form>
<p>
<a href="index.php">Quay về danh sách</a>
</p>
</div>
</div>
</div>
</body>
</html>
#delete.php
<?php
require_once('../config.php');
if(!empty($_POST)) {
$id = $_POST['id'];
query("delete from student where id = $id");
header('Location: index.php');
}
$id = $_GET['id'];
$stdList = select("select * from student where id = $id");
if($stdList == null || count($stdList) == 0) {
header('Location: index.php');
}
$std = $stdList[0];
?>
<!DOCTYPE html>
<html>
<head>
<title>Thêm Sinh Viên</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Latest compiled and minified CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Latest compiled JavaScript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<style type="text/css">
.form-group {
margin-bottom: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="card">
<div class="card-header bg-info text-white">
XÁC MINH TÀI KHOẢN XÓA
</div>
<div class="card-body" style="width: 50%;">
<table class="table table-bordered">
<tr>
<th>Ho ten</th>
<td><?=$std['fullname']?></td>
</tr>
<tr>
<th>Tuoi</th>
<td><?=$std['age']?></td>
</tr>
<tr>
<th>Dia chi</th>
<td><?=$std['address']?></td>
</tr>
</table>
<form method="post">
<input type="hidden" name="id" value="<?=$id?>">
<button class="btn btn-danger">Bạn chắc chắn muốn xóa sinh viên này</button>
</form>
<br/>
<br/>
<p>
<a href="index.php">Quay về danh sách</a>
</p>
</div>
</div>
</div>
</body>
</html>
#edit.php
<?php
require_once('../config.php');
if(!empty($_POST)) {
$id = $_POST['id'];
$fullname = $_POST['fullname'];
$age = $_POST['age'];
$address = $_POST['address'];
$sql = "update student set fullname='$fullname', age='$age', address = '$address' where id = $id";
query($sql);
header('Location: index.php');
}
$id = $_GET['id'];
$stdList = select("select * from student where id = $id");
if($stdList == null || count($stdList) == 0) {
header('Location: index.php');
}
$std = $stdList[0];
?>
<!DOCTYPE html>
<html>
<head>
<title>Thêm Sinh Viên</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Latest compiled and minified CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Latest compiled JavaScript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<style type="text/css">
.form-group {
margin-bottom: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="card">
<div class="card-header bg-info text-white">
NHAP THONG TIN SINH VIEN
</div>
<div class="card-body">
<form method="post">
<div class="form-group">
<label>Ten Sinh Vien:</label>
<input type="hidden" name="id" value="<?=$id?>">
<input required type="text" name="fullname" class="form-control" value="<?=$std['fullname']?>">
</div>
<div class="form-group">
<label>Tuoi:</label>
<input required type="number" name="age" class="form-control" value="<?=$std['age']?>">
</div>
<div class="form-group">
<label>Dia Chi:</label>
<input required type="text" name="address" class="form-control" value="<?=$std['address']?>">
</div>
<div class="form-group">
<button class="btn btn-success">Luu</button>
<button type="reset" class="btn btn-warning">Xoa Form</button>
</div>
</form>
<p>
<a href="index.php">Quay về danh sách</a>
</p>
</div>
</div>
</div>
</body>
</html>
#index.php
<?php
require_once('../config.php');
if(isset($_GET['s']) && $_GET['s'] != "") {
$s = $_GET['s'];
$sql = "select * from student where fullname like '%$s%' order by fullname asc";
// echo $sql;
} else {
$sql = "select * from student order by fullname asc";
}
$dataList = select($sql);
?>
<!DOCTYPE html>
<html>
<head>
<title>Quản Lý Sinh Viên</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Latest compiled and minified CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Latest compiled JavaScript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<style type="text/css">
.form-group {
margin-bottom: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12 mt-3">
<a href="add.php"><button class="btn btn-success" style="float: left;">Them moi</button></a>
<form method="get">
<input type="text" name="s" placeholder="Tim kiem ..." class="form-control" style="width: 200px; float: right;">
</form>
</div>
<div class="col-md-12">
<div class="card mt-3">
<div class="card-header bg-info text-white">
DANH SACH SINH VIEN
</div>
<div class="card-body">
<table class="table table-bordered">
<thead>
<tr>
<th>STT</th>
<th>Ten SV</th>
<th>Tuoi</th>
<th>Dia Chi</th>
<th style="width: 180px;"></th>
</tr>
</thead>
<tbody>
<?php
$count = 0;
foreach ($dataList as $item) {
echo '<tr>
<td>'.(++$count).'</td>
<td>'.$item['fullname'].'</td>
<td>'.$item['age'].'</td>
<td>'.$item['address'].'</td>
<td>
<a href="edit.php?id='.$item['id'].'"><button class="btn btn-warning">Sua</button></a>
<a href="delete.php?id='.$item['id'].'"><button class="btn btn-danger">Xoa</button></a>
</td>
</tr>';
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>