By GokiSoft.com| 19:46 19/05/2022|
Học PHP

[Source Code] Hướng dẫn kết nối CSDL MySQL trong PHP - Khóa học PHP/MySQL

#add.php


<?php
$username = $email = $pwd = "";

if(!empty($_POST)) {
	$username = $_POST['username'];
	$email = $_POST['email'];
	$pwd = $_POST['pwd'];

	// Them du lieu vao CSDL
	// B1. Cach ket noi CSDL
	$conn = mysqli_connect('localhost', 'root', '', 'c2110l');
	mysqli_set_charset($conn, 'utf8');

	// B2. Luu du lieu
	$sql = "insert into student (username, email, password) values ('$username', '$email', '$pwd')";
	mysqli_query($conn, $sql);

	// B3. Ngat ket noi toi CSDL
	mysqli_close($conn);
}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Add student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<form method="post" onsubmit="return validateData()">
		<div class="form-group">
			<label>User Name: </label>
			<input required="true" type="text" name="username" class="form-control">
		</div>
		<div class="form-group">
			<label>Email: </label>
			<input required="true" type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password: </label>
			<input required="true" type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<label>Confirm Password: </label>
			<input required="true" type="password" name="confirmPwd" class="form-control">
		</div>
		<div class="form-group">
			<p><a href="list.php">Back List</a></p>
			<button class="btn btn-success">Add Student</button>
		</div>
	</form>
</div>

<script type="text/javascript">
	function validateData() {
		var pwd = $('[name=pwd]').val()
		var confirmPwd = $('[name=confirmPwd]').val()

		if(pwd != confirmPwd) {
			alert('Mat khau khong khop')
			return false
		}

		return true
	}
</script>
</body>
</html>


#delete.php


<?php
if(!empty($_POST)) {
	$id = $_POST['id'];

	// Them du lieu vao CSDL
	// B1. Cach ket noi CSDL
	$conn = mysqli_connect('localhost', 'root', '', 'c2110l');
	mysqli_set_charset($conn, 'utf8');

	// B2. Luu du lieu
	$sql = "delete from student where id = $id";
	mysqli_query($conn, $sql);

	// B3. Ngat ket noi toi CSDL
	mysqli_close($conn);

	header('Location: list.php');
}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Delete student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<form method="post">
		<h2>Are you sure to delete this student?</h2>
		<div class="form-group" style="display: none;">
			<label>ID: </label>
			<input required="true" type="text" name="id" class="form-control" value="<?=$_GET['id']?>">
		</div>
		<div class="form-group">
			<button class="btn btn-danger">Delete Student</button>
		</div>
	</form>
</div>
</body>
</html>


#edit.php


<?php
$username = $email = $pwd = "";

if(!empty($_POST)) {
	$username = $_POST['username'];
	$email = $_POST['email'];
	$pwd = $_POST['pwd'];
	$id = $_POST['id'];

	// Them du lieu vao CSDL
	// B1. Cach ket noi CSDL
	$conn = mysqli_connect('localhost', 'root', '', 'c2110l');
	mysqli_set_charset($conn, 'utf8');

	// B2. Luu du lieu
	$sql = "update student set username = '$username', email = '$email', password = '$pwd' where id = '$id'";
	mysqli_query($conn, $sql);

	// B3. Ngat ket noi toi CSDL
	mysqli_close($conn);

	header('Location: list.php');
}

$id = $_GET['id'];
// Them du lieu vao CSDL
// B1. Cach ket noi CSDL
$conn = mysqli_connect('localhost', 'root', '', 'c2110l');
mysqli_set_charset($conn, 'utf8');

// B2. Luu du lieu
$sql = "select * from student where id = $id";
$resultset = mysqli_query($conn, $sql);
$std = mysqli_fetch_array($resultset, 1);

// B3. Ngat ket noi toi CSDL
mysqli_close($conn);
?>

<!DOCTYPE html>
<html>
<head>
	<title>Update student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<form method="post" onsubmit="return validateData()">
		<div class="form-group" style="display: none;">
			<label>ID: </label>
			<input required="true" type="text" name="id" class="form-control" value="<?=$std['id']?>">
		</div>
		<div class="form-group">
			<label>User Name: </label>
			<input required="true" type="text" name="username" class="form-control" value="<?=$std['username']?>">
		</div>
		<div class="form-group">
			<label>Email: </label>
			<input required="true" type="email" name="email" class="form-control" value="<?=$std['email']?>">
		</div>
		<div class="form-group">
			<label>Password: </label>
			<input required="true" type="password" name="pwd" class="form-control" value="<?=$std['password']?>">
		</div>
		<div class="form-group">
			<label>Confirm Password: </label>
			<input required="true" type="password" name="confirmPwd" class="form-control" value="<?=$std['password']?>">
		</div>
		<div class="form-group">
			<button class="btn btn-warning">Update Student</button>
		</div>
	</form>
</div>

<script type="text/javascript">
	function validateData() {
		var pwd = $('[name=pwd]').val()
		var confirmPwd = $('[name=confirmPwd]').val()

		if(pwd != confirmPwd) {
			alert('Mat khau khong khop')
			return false
		}

		return true
	}
</script>
</body>
</html>


#list.php


<?php
// Them du lieu vao CSDL
// B1. Cach ket noi CSDL
$conn = mysqli_connect('localhost', 'root', '', 'c2110l');
mysqli_set_charset($conn, 'utf8');

// B2. Luu du lieu
$sql = "select * from student";
$resultset = mysqli_query($conn, $sql);

$data = [];
while(($row = mysqli_fetch_array($resultset, 1)) != null) {
	$data[] = $row;
}

// B3. Ngat ket noi toi CSDL
mysqli_close($conn);

// var_dump($data);
?>

<!DOCTYPE html>
<html>
<head>
	<title>List student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<a href="add.php"><button class="btn btn-success">Add Student</button></a>
	<table class="table table-bordered">
		<thead>
			<tr>
				<th>No</th>
				<th>User Name</th>
				<th>Email</th>
				<th style="width: 60px"></th>
				<th style="width: 60px"></th>
			</tr>
		</thead>
		<tbody>
<?php
$count = 0;
foreach ($data as $item) {
?>
		<tr>
			<td><?=++$count?></td>
			<td><?=$item['username']?></td>
			<td><?=$item['email']?></td>
			<td>
				<a href="edit.php?id=<?=$item['id']?>"><button class="btn btn-warning">Edit</button></a>
			</td>
			<td>
				<a href="delete.php?id=<?=$item['id']?>"><button class="btn btn-danger">Delete</button></a>
			</td>
		</tr>
<?php
}
?>
		</tbody>
	</table>
</div>
</body>
</html>


#readme.txt


Nôi dung kiến thức:
	- Thiết kế CSDL trên phpmyadmin (MySQL)
	- Chương trình quản lý sinh viên
		CRUD: Thêm/sửa/xóa/hiển thị thông tin sinh viên
=============================================================================
CSDL: Quản lý sinh viên
	- student
		- username
		- email
		- password

create database C2110L

create table student (
	id int primary key auto_increment,
	username varchar(50) not null,
	email varchar(150) not null,
	password varchar(32)
)

Thong tin ket noi toi CSDL
host: localhost
database: C2110L
username: root
password:

==============================================================================
Chức năng dự án:
- Chức năng dự án: add.php


Tags:

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

5

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

GokiSoft.com [Teacher]
GokiSoft.com

2022-05-19 13:46:08


#list.php


<?php
require_once('dbhelper.php');

$sql = "select * from student";
$data = executeResult($sql);
?>

<!DOCTYPE html>
<html>
<head>
	<title>List student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<a href="add.php"><button class="btn btn-success">Add Student</button></a>
	<table class="table table-bordered">
		<thead>
			<tr>
				<th>No</th>
				<th>User Name</th>
				<th>Email</th>
				<th style="width: 60px"></th>
				<th style="width: 60px"></th>
			</tr>
		</thead>
		<tbody>
<?php
$count = 0;
foreach ($data as $item) {
?>
		<tr>
			<td><?=++$count?></td>
			<td><?=$item['username']?></td>
			<td><?=$item['email']?></td>
			<td>
				<a href="edit.php?id=<?=$item['id']?>"><button class="btn btn-warning">Edit</button></a>
			</td>
			<td>
				<a href="delete.php?id=<?=$item['id']?>"><button class="btn btn-danger">Delete</button></a>
			</td>
		</tr>
<?php
}
?>
		</tbody>
	</table>
</div>
</body>
</html>


#edit.php


<?php
require_once('dbhelper.php');
$username = $email = $pwd = "";

if(!empty($_POST)) {
	$username = $_POST['username'];
	$email = $_POST['email'];
	$pwd = $_POST['pwd'];
	$id = $_POST['id'];

	$sql = "update student set username = '$username', email = '$email', password = '$pwd' where id = '$id'";
	execute($sql);

	header('Location: list.php');
}

$id = $_GET['id'];
$sql = "select * from student where id = $id";
$std = executeResult($sql, true);
?>

<!DOCTYPE html>
<html>
<head>
	<title>Update student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<form method="post" onsubmit="return validateData()">
		<div class="form-group" style="display: none;">
			<label>ID: </label>
			<input required="true" type="text" name="id" class="form-control" value="<?=$std['id']?>">
		</div>
		<div class="form-group">
			<label>User Name: </label>
			<input required="true" type="text" name="username" class="form-control" value="<?=$std['username']?>">
		</div>
		<div class="form-group">
			<label>Email: </label>
			<input required="true" type="email" name="email" class="form-control" value="<?=$std['email']?>">
		</div>
		<div class="form-group">
			<label>Password: </label>
			<input required="true" type="password" name="pwd" class="form-control" value="<?=$std['password']?>">
		</div>
		<div class="form-group">
			<label>Confirm Password: </label>
			<input required="true" type="password" name="confirmPwd" class="form-control" value="<?=$std['password']?>">
		</div>
		<div class="form-group">
			<button class="btn btn-warning">Update Student</button>
		</div>
	</form>
</div>

<script type="text/javascript">
	function validateData() {
		var pwd = $('[name=pwd]').val()
		var confirmPwd = $('[name=confirmPwd]').val()

		if(pwd != confirmPwd) {
			alert('Mat khau khong khop')
			return false
		}

		return true
	}
</script>
</body>
</html>


#delete.php


<?php
require_once('dbhelper.php');
if(!empty($_POST)) {
	$id = $_POST['id'];

	$sql = "delete from student where id = $id";
	execute($sql);

	header('Location: list.php');
}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Delete student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<form method="post">
		<h2>Are you sure to delete this student?</h2>
		<div class="form-group" style="display: none;">
			<label>ID: </label>
			<input required="true" type="text" name="id" class="form-control" value="<?=$_GET['id']?>">
		</div>
		<div class="form-group">
			<button class="btn btn-danger">Delete Student</button>
		</div>
	</form>
</div>
</body>
</html>


#dbhelper.php


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

function execute($sql) {
	// Them du lieu vao CSDL
	// B1. Cach ket noi CSDL
	$conn = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);
	mysqli_set_charset($conn, 'utf8');

	// B2. Luu du lieu
	// $sql = "delete from student where id = $id";
	mysqli_query($conn, $sql);

	// B3. Ngat ket noi toi CSDL
	mysqli_close($conn);
}

function executeResult($sql, $isSingle = false) {
	// Them du lieu vao CSDL
	// B1. Cach ket noi CSDL
	$conn = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);
	mysqli_set_charset($conn, 'utf8');

	// B2. Luu du lieu
	$resultset = mysqli_query($conn, $sql);

	if($isSingle) {
		$data = mysqli_fetch_array($resultset, 1);
	} else {
		$data = [];
		while(($row = mysqli_fetch_array($resultset, 1)) != null) {
			$data[] = $row;
		}
	}

	// B3. Ngat ket noi toi CSDL
	mysqli_close($conn);

	return $data;
}


#config.php


<?php
define('HOST', 'localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DATABASE', 'C2110L');


#add.php


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


// require('config.php');
// require('config.php');
// require('config.php');
// require('config.php');
// require('config.php');

$username = $email = $pwd = "";

if(!empty($_POST)) {
	$username = $_POST['username'];
	$email = $_POST['email'];
	$pwd = $_POST['pwd'];

	$sql = "insert into student (username, email, password) values ('$username', '$email', '$pwd')";
	execute($sql);
}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Add student account page</title>
	<meta charset="utf-8">

	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<form method="post" onsubmit="return validateData()">
		<div class="form-group">
			<label>User Name: </label>
			<input required="true" type="text" name="username" class="form-control">
		</div>
		<div class="form-group">
			<label>Email: </label>
			<input required="true" type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password: </label>
			<input required="true" type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<label>Confirm Password: </label>
			<input required="true" type="password" name="confirmPwd" class="form-control">
		</div>
		<div class="form-group">
			<p><a href="list.php">Back List</a></p>
			<button class="btn btn-success">Add Student</button>
		</div>
	</form>
</div>

<script type="text/javascript">
	function validateData() {
		var pwd = $('[name=pwd]').val()
		var confirmPwd = $('[name=confirmPwd]').val()

		if(pwd != confirmPwd) {
			alert('Mat khau khong khop')
			return false
		}

		return true
	}
</script>
</body>
</html>