By GokiSoft.com| 18:25 19/01/2024|
Học PHP

[Share Code] Tìm hiểu về CSDL trong PHP - C2307L

#add-user.php

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

$fullname = $email = $phoneNumber = $address = "";

if(!empty($_POST)) {
	$fullname = $_POST['fullname'];
	$email = $_POST['email'];
	$phoneNumber = $_POST['phone_number'];
	$address = $_POST['address'];

	$mydate = date('Y-m-d H:i:s');
	//Xoa phan lay thong POST day len
	// var_dump($_POST);
	//Lam theo nao de day du lieu vao CSDL tu du lieu da nhap o tren
	//B1. Mo ket noi toi CSDL

	// $conn = mysqli_connect('localhost:3307', 'gokisoft', 'iv@*NIFyTdKEgh]D', 'c2307l');
	// $conn = mysqli_connect('localhost:3307', 'root', '', 'c2307l');
	// 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 = "insert into users (fullname, email, phone_number, address, created_at, updated_at) values ('$fullname', '$email', '$phoneNumber', '$address', '$mydate', '$mydate')";
	query($sql);
	// mysqli_query($conn, $sql);

	// //B3. Dong ket noi
	// mysqli_close($conn);
}

#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('localhost:3307', 'root', '', 'c2307l');
	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;
}

#delete-user.php

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

if(isset($_POST['id'])) {
	$id = $_POST['id'];

	// $conn = mysqli_connect('localhost:3307', 'gokisoft', 'iv@*NIFyTdKEgh]D', 'c2307l');
	// $conn = mysqli_connect('localhost:3307', 'root', '', 'c2307l');
	// 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;
	query($sql);
	// mysqli_query($conn, $sql);

	//B3. Dong ket noi
	// mysqli_close($conn);
}

header('Location: vidu.php');

#edit-user.php

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

$fullname = $email = $phoneNumber = $address = "";

if(!empty($_POST)) {
	$fullname = $_POST['fullname'];
	$email = $_POST['email'];
	$phoneNumber = $_POST['phone_number'];
	$address = $_POST['address'];
	$id = $_POST['id'];

	$mydate = date('Y-m-d H:i:s');

	$sql = "update users set fullname = '$fullname', email = '$email', phone_number = '$phoneNumber', address = '$address' where id = ".$id;
	query($sql);

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

$id = $_GET['id'];
$sql = "select * from users where id = ".$id;
$dataList = select($sql);
$user = $dataList[0];
?>

<!DOCTYPE html>
<html>
<head>
	<title>Quan Ly Nguoi Dung</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 NGUOI DUNG
		</div>
		<div class="card-body">
			<form method="post">
				<div class="form-group">
					<label>Ten:</label>
					<input type="hidden" name="id" value="<?=$id?>">
					<input required="true" type="text" name="fullname" class="form-control" value="<?=$user['fullname']?>">
				</div>
				<div class="form-group">
					<label>Email:</label>
					<input required="true" type="email" name="email" class="form-control" value="<?=$user['email']?>">
				</div>
				<div class="form-group">
					<label>SDT:</label>
					<input required="true" type="tel" name="phone_number" class="form-control" value="<?=$user['phone_number']?>">
				</div>
				<div class="form-group">
					<label>Dia Chi:</label>
					<input required="true" type="text" name="address" class="form-control" value="<?=$user['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>
		</div>
	</div>
</div>
</body>
</html>

#readme.txt

Nội dung kiến thức:
	- Kết nối CSDL: CRUD (Thêm/sửa/xóa/danh sách dữ liệu từ database)

Ví dụ: Quản lý người dùng
	- Thiet ke UI -> OK
	- Lay du lieu day len tu Form bang PHP -> OK

	- Ket noi CSDL

	create table users (
		id int primary key auto_increment,
		fullname varchar(150),
		email varchar(150),
		phone_number varchar(20),
		address varchar(200),
		created_at datetime,
		updated_at datetime
	)

	insert into users (fullname, email, phone_number, address, created_at, updated_at) values ('TRAN VAN A', 'tranvana@gmail.com', '1234567890', 'Ha Noi', '2023-01-02 09:30:00', '2023-01-02 09:30:00')

#vidu.php

<?php
require_once('add-user.php');
require_once('config.php');

// $conn = mysqli_connect('localhost:3307', 'root', '', 'c2307l');
// 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";
$dataList = select($sql);
// $resultset = mysqli_query($conn, $sql);
// $dataList = [];

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

// //B3. Dong ket noi
// mysqli_close($conn);

// var_dump($dataList);
?>

<!DOCTYPE html>
<html>
<head>
	<title>Quan Ly Nguoi Dung</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 NGUOI DUNG
		</div>
		<div class="card-body">
			<form method="post">
				<div class="form-group">
					<label>Ten:</label>
					<input required="true" type="text" name="fullname" 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>SDT:</label>
					<input required="true" type="tel" name="phone_number" class="form-control">
				</div>
				<div class="form-group">
					<label>Dia Chi:</label>
					<input required="true" 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>
		</div>
	</div>
	<div class="card mt-3">
		<div class="card-header bg-info text-white">
			DANH SACH NGUOI DUNG
		</div>
		<div class="card-body">
			<table class="table table-bordered">
				<thead>
					<tr>
						<th>STT</th>
						<th>Ten</th>
						<th>Email</th>
						<th>SDT</th>
						<th>Dia Chi</th>
						<th></th>
					</tr>
				</thead>
				<tbody>
<?php
$count = 0;
foreach ($dataList as $item) {
	echo '<tr>
			<td>'.($count + 1).'</td>
			<td>'.$item['fullname'].'</td>
			<td>'.$item['email'].'</td>
			<td>'.$item['phone_number'].'</td>
			<td>'.$item['address'].'</td>
			<td>
				<a href="edit-user.php?id='.$item['id'].'"><button class="btn btn-warning">Sua</button></a>
				<form method="post" action="delete-user.php">
					<input type="hidden" name="id" value="'.$item['id'].'"/>
					<button class="btn btn-danger">Xoa</button>
				</form>
			</td>
		</tr>';
	$count++;
}
?>
				</tbody>
			</table>
		</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)