Ở bài tập trước tất cả chúng ta đã tập làm trang quản lý sinh viên lưu session với những thao tác hiển thị list, thêm, xóa và sửa sinh viên, tuy nhiên ở bài đó tất cả chúng ta chỉ lưu tài liệu tạm ở Session mà thôi, vậy thì trong bài này tất cả chúng ta liên tục kiến thiết xây dựng ứng dụng này nhưng thay vì sử dụng Session thì ta sử dụng MySQL để tàng trữ tài liệu .

test php

banquyen png

Bài viết này được đăng tại

freetuts.net

, không được copy dưới mọi hình thức.

Bước tiên phong tất cả chúng ta thiết kế xây dựng cơ sở dư liệu đã nhé .

nội dung

1. Xây dựng CSDL quản lý sinh viên

Chúng ta chỉ lưu trữ một bảng với các thông tin như sau: sv_id, sv_name, sv_sex, sv_birthday. Bạn mở phpmyadmin lên và tạo một database tên là qlsv_db, sau đó chạy câu SQL sau để tạo mới table tv_sinhvien.

Bài viết này được đăng tại [ không tính tiền tuts. net ]

CREATE TABLE IF NOT EXISTS `tb_sinhvien` (
  `sv_id` int(11) NOT NULL AUTO_INCREMENT,
  `sv_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `sv_sex` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
  `sv_birthday` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`sv_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;

--
-- Dumping data for table `tb_sinhvien`
--

INSERT INTO `tb_sinhvien` (`sv_id`, `sv_name`, `sv_sex`, `sv_birthday`) VALUES
(1, 'Nguyễn Văn Cường', 'Nam', '20-11-2015'),
(2, 'Đặng Hoàng Chương', 'Nam', '10-12-2014'),
(3, 'Nguyễn Phú Cường', 'Nam', '30-01-1990'),
(4, 'Nguyễn Thị Thập', 'Nữ¯', '20-11-2011');

Trong câu SQL trên mình đã thêm 4 records để demo nhé những bạn .

2. Xây dựng thư viện quản lý sinh viên

Chúng ta sẽ viết một thư viện quản lý sinh viên thực thi những thao tác như hiển thị list, thêm, xóa và sửa sinh viên. Tuy nhiên trước khi vào bài thì tất cả chúng ta cần phải tạo cấu trúc thư mục đã nhé. Bạn hãy tạo list những file như trong hình sau :

thu-vien-quan-ly-sinh-vien-php-1-7043496

Trong đó những file được sử dụng với mục tiêu như sau :

  • libs/students.php sẽ chứa các hàm xử lý database sinh viên
  • student-add.php sẽ xử lý thao tác thêm sinh viên
  • student-delete.php sẽ xử lý thao tác xóa sinh viên
  • student-edit.php sẽ xử lý thao tác sửa sinh viên
  • student-list.php sẽ xử lý thao tác hiển thị danh sách sinh viên.

Bạn mở file libs/students.php lên và nhập vào nội dung sau:

// Biến kết nối toàn cục
global $conn;

// Hàm kết nối database
function connect_db()
{
    // Gọi tới biến toàn cục $conn
    global $conn;
    
    // Nếu chưa kết nối thì thực hiện kết nối
    if (!$conn){
        $conn = mysqli_connect('localhost', 'root', 'vertrigo', 'qlsv_db') or die ('Can't not connect to database');
        // Thiết lập font chữ kết nối
        mysqli_set_charset($conn, 'utf8');
    }
}

// Hàm ngắt kết nối
function disconnect_db()
{
    // Gọi tới biến toàn cục $conn
    global $conn;
    
    // Nếu đã kêt nối thì thực hiện ngắt kết nối
    if ($conn){
        mysqli_close($conn);
    }
}

// Hàm lấy tất cả sinh viên
function get_all_students()
{
    // Gọi tới biến toàn cục $conn
    global $conn;
    
    // Hàm kết nối
    connect_db();
    
    // Câu truy vấn lấy tất cả sinh viên
    $sql = "select * from tb_sinhvien";
    
    // Thực hiện câu truy vấn
    $query = mysqli_query($conn, $sql);
    
    // Mảng chứa kết quả
    $result = array();
    
    // Lặp qua từng record và đưa vào biến kết quả
    if ($query){
        while ($row = mysqli_fetch_assoc($query)){
            $result[] = $row;
        }
    }
    
    // Trả kết quả về
    return $result;
}

// Hàm lấy sinh viên theo ID
function get_student($student_id)
{
    // Gọi tới biến toàn cục $conn
    global $conn;
    
    // Hàm kết nối
    connect_db();
    
    // Câu truy vấn lấy tất cả sinh viên
    $sql = "select * from tb_sinhvien where sv_id = {$student_id}";
    
    // Thực hiện câu truy vấn
    $query = mysqli_query($conn, $sql);
    
    // Mảng chứa kết quả
    $result = array();
    
    // Nếu có kết quả thì đưa vào biến $result
    if (mysqli_num_rows($query) > 0){
        $row = mysqli_fetch_assoc($query);
        $result = $row;
    }
    
    // Trả kết quả về
    return $result;
}

// Hàm thêm sinh viên
function add_student($student_name, $student_sex, $student_birthday)
{
    // Gọi tới biến toàn cục $conn
    global $conn;
    
    // Hàm kết nối
    connect_db();
    
    // Chống SQL Injection
    $student_name = addslashes($student_name);
    $student_sex = addslashes($student_sex);
    $student_birthday = addslashes($student_birthday);
    
    // Câu truy vấn thêm
    $sql = "
            INSERT INTO tb_sinhvien(sv_name, sv_sex, sv_birthday) VALUES
            ('$student_name','$student_sex','$student_birthday')
    ";
    
    // Thực hiện câu truy vấn
    $query = mysqli_query($conn, $sql);
    
    return $query;
}


// Hàm sửa sinh viên
function edit_student($student_id, $student_name, $student_sex, $student_birthday)
{
    // Gọi tới biến toàn cục $conn
    global $conn;
    
    // Hàm kết nối
    connect_db();
    
    // Chống SQL Injection
    $student_name       = addslashes($student_name);
    $student_sex        = addslashes($student_sex);
    $student_birthday   = addslashes($student_birthday);
    
    // Câu truy sửa
    $sql = "
            UPDATE tb_sinhvien SET
            sv_name = '$student_name',
            sv_sex = '$student_sex',
            sv_birthday = '$student_birthday'
            WHERE sv_id = $student_id
    ";
    
    // Thực hiện câu truy vấn
    $query = mysqli_query($conn, $sql);
    
    return $query;
}


// Hàm xóa sinh viên
function delete_student($student_id)
{
    // Gọi tới biến toàn cục $conn
    global $conn;
    
    // Hàm kết nối
    connect_db();
    
    // Câu truy sửa
    $sql = "
            DELETE FROM tb_sinhvien
            WHERE sv_id = $student_id
    ";
    
    // Thực hiện câu truy vấn
    $query = mysqli_query($conn, $sql);
    
    return $query;
}

Bạn nhớ thay đổi thông tin kết nối cho phù hợp với máy của bạn nhé. Ý nghĩa của từng hàm mình đã comment rất rõ ràng trong code rồi nên mình không giải thích gì thêm.

3. Hiển thị danh sách sinh viên

Bạn mở file student-list.php lên và nhập vào nội dung sau:







    
        Danh sách sinh vien
        
        
    
    
        

Danh sách sinh vien

Thêm sinh viên

ID Name Gender Birthday Options

4. Chức năng thêm sinh viên

Bạn mở file student-add.php lên và nhập vào nội dung sau:







    
        Thêm sinh vien
        
        
    
    
        

Thêm sinh vien

Trở về

Name
Gender
Birthday

Để hiểu được bài này bạn phải biết phương pháp POST trong PHP và hàm header nữa nhé .

5. Chức năng sửa sinh viên

Bạn mở file student-edit.php lên và nhập vào nội dung sau:







    
        Thêm sinh vien
        
        
    
    
        

Thêm sinh vien

Trở về

Name
Gender
Birthday

Điểm chú ý quan tâm ở file này là ta sẽ dựa vào ID trên URL để lấy thông tin sinh viên cần sửa và hiển thị ra những ô input .

6. Chức năng xóa sinh viên

Chức năng này khá đơn giản, nó sẽ dựa vào thông tin id của sinh viên để xóa. Bạn mở file student-delete.php lên và nhập vào nội dung sau:

require './libs/students.php';

// Thực hiện xóa
$id = isset($_POST['id']) ? (int)$_POST['id'] : '';
if ($id){
    delete_student($id);
}

// Trở về trang danh sách
header("location: student-list.php");

 

Ok vậy là xong rồi. Bạn hãy chạy file student-list.php lên và xem thành quả nhé.

7. Lời kết

Bài này viết tương đối khó viết chính bới code có kèm lẫn mã HTML + PHP nên rất rối, vì thế mỗi file mình không lý giải nhiều mà dành phần đó cho những bạn tự đọc code tự hiểu nhé, mình có comment rất rõ nên cũng không mấy khó lắm đâu. Sau khi làm xong và hiểu bài này thì bạn đã thành thạo được những thao tác Create – Update – Delete giữa PHP và MySQL rồi đấy .
Danh sách file tải về

Tên file tải về Pass giải nén
QLSV_Lưu database freetuts.net hoặc gameportable.net

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *