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)