By GokiSoft.com| 18:32 22/01/2024|
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>
Tags:

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

GokiSoft.com
GokiSoft.com

2024-01-19 12:55:42


#student.php


<?php
require_once('../config.php');

/**
* Student ORM
*/
class Student {
	public $id;
	public $fullname;
	public $age;
	public $address;

	public function form() {
		//Binding du lieu day len vao object
		if(isset($_POST['id'])) {
			$this->id = $_POST['id'];
		}
		if(isset($_POST['fullname'])) {
			$this->fullname = $_POST['fullname'];
		}
		if(isset($_POST['age'])) {
			$this->age = $_POST['age'];
		}
		if(isset($_POST['address'])) {
			$this->address = $_POST['address'];
		}
	}

	public function insert() {
		$sql = "insert into student (fullname, age, address) values ('".$this->fullname."', '".$this->age."', '".$this->address."')";
		query($sql);
	}

	public function update() {
		$sql = "update student set fullname='".$this->fullname."', age='".$this->age."', address = '".$this->address."' where id = ".$this->id;
		query($sql);
	}

	public function delete() {
		query("delete from student where id = ".$this->id);
	}

	public function list() {
		// $sql = "select * from student order by fullname asc";
		// return select($sql);
		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";
		}

		return select($sql);
	}
}


#index.php


<?php
require_once('../config.php');
require_once('../entities/student.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);
$std = new Student();
$dataList = $std->list();
?>

<!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>



GokiSoft.com
GokiSoft.com

2024-01-19 12:55:18

OOP

#readme.txt


- Class Object
	fullname, age, address, email

	running, sleeping, input, display
- Object
	A:
	fullname -> TRAN VAN A
	age -> 22
	address -> Ha Noi
	email -> a@gmail.com

	B:
	fullname -> TRAN VAN B
	age -> 21
	address -> Ha Noi
	email -> b@gmail.com

Phân tích:
	Student:
		fullname
		age
		address
		email
		rollno

		running, sleeping, input, display, learning
	Engineer
		fullname
		age
		address
		email
		salary
		level

		running, sleeping, input, display, working
	People
		fullname
		age
		address


		running, sleeping, input, display
OOP: Tinh chat trong lap trinh huong doi tuong
	- Tinh chat dong goi
	- Tinh chat ke thua
	- Tinh chat da hinh
	- Tinh chat truu tuong


#vidu.php


<?php
class Student {
	//Thuoc tinh doi tuong (properties) (public, private, protected)
	public $fullname;
	public $email;
	public $address;
	public $age;

	/**
	* function (ham), method (phuong thuc)
	*/
	public function running() {
		print('Sinh vien dang chay');
	}

	public function sleeping() {
		print('Sinh vien dang ngu');
	}

	public function display() {
		print("<br/>".$this->fullname.", ".$this->email.", ". $this->address.", ".$this->age."<br/>");
	}
}

//Bieu dien cac doi tuong
$stdA = new Student();
$stdA->fullname = "TRAN VAN A";
$stdA->age = 22;
$stdA->address = "Ha Noi";
$stdA->email = "a@gmail.com";

print($stdA->fullname);
$stdA->display();


$stdB = new Student();
$stdB->fullname = "TRAN VAN BB";
$stdB->age = 22;
$stdB->address = "Ha Noi";
$stdB->fullname = "TRAN VAN CCCCCCCCCCCCCCCCCCCCCCC";
$stdB->email = "b@gmail.com";

print($stdB->fullname);

$stdB->display();


#vidu2.php


<?php
class People {
	public $fullname;
	public $age;
	public $address;
	public $gender;

	public function running() {
		print("<br/>running ...");
	}

	public function sleeping() {
		print("<br/>sleeping ...");
	}

	public function display() {
		print("<br/>display ...");
	}
}

/**
* People: parent class -> lop cha
* Student, Engineer: child class -> lop con
* Chu y: 1 con -> chi ke thua tu 1 thang cha
*/
class Student extends People {
	public $email;
	public $rollno;

	public function learning() {
		print("<br/>learning ...");
	}
}

class Engineer extends People {
	public $salary;
	public $level;

	public function working() {
		print("<br/>working ...");
	}
}


$people = new People();
$people->running();

$student = new Student();
$student->running();
$student->learning();

$engineer = new Engineer();
$engineer->running();
$engineer->working();