Làm việc với Cơ sở dữ liệu

1. Cấu hình kết nối cơ sở dữ liệu

Cấu hình kết nối cơ sở dữ liệu tại: application/config/database.php, tìm các dòng sau:

2. Chạy truy vấn

Trước kết cần phải kết nối cơ sở dữ liệu:

Trong codeignter chúng ta có thể chạy một câu lệnh truy vấn SQL như những kiến thức các bạn đã được học:

$this->db->query(‘YOUR QUERY HERE’);

Ví dụ:

Truy vấn trả về mảng object

Truy vấn trả về mảng 2 chiều

Trả về object, một mẫu tin đầu tiên

Trả về mảng một chiều, một mẫu tin đầu tiên

Trả về số hàng

Trả về số trường của bảng

3. Query Builder Class trong Codeigniter

Trong phần này, thông qua các ví dụ ta sẽ tìm hiểu các câu lệnh truy vấn cơ sở dữ liệu trong codeigniter, để các bạn dễ hiểu tôi sẽ sử dụng 2 bảng sau:

Bảng chứa các loại sản phẩm(db_category)

Tên trường Kiểu dữ liệu(Chiều dài) Ý nghĩa
cid Int(11) Khóa, tăng tự động
catname Varchar(255) Tên chủ đề
catslug Varchar(255) Liên kết
parentid Int(11) Chủ đề cha
orders Int(11) Thư tự trong menu
catcreated_at Datetime Ngày tạo
catcreated_by Int(11) Người tạo
catupdated_at Datetime Ngày cập nhật
catupdated_by Int(11) Người cập nhật
catstateid Int(11) Trạng thái mẫu tin

Bảng sản phẩm(db_product)

Tên trường Kiểu dữ liệu Ý nghĩa
pid int(11) Khóa, tăng tự động
catid int(11) Mã chủ đề
proname varchar(255) Tên sản phẩm
proslug varchar(255) Alias sản phẩm
img varchar(100) Hình đại diện
detail text Chi tiết sản phẩm
number int(11) Số lượng
price_buy int(11) Giá
price_sale int(11) Giá khuyễn mãi
procreated_at datetime Ngày tạo
procreated_by Int(11) Người tạo
proupdated_at datetime Ngày cập nhật
proupdated_by Int(11) Người cập nhật
prostateid Int(11) Trạng thái mẫu tin

Các truy vấn trả về kết quả

Ví dụ 1: Truy vấn tất cả mẫu tin trong bảng sản phẩm

Ví dụ 2: Truy vấn lấy 10 mẫu tin đầu tiên trong bảng sản phẩm

Ví dụ 3: Truy vấn lấy từ mẫu tin 10 và lấy 20 mẫu tin trong bản sản phẩm

Ví dụ 4: Truy vấn những sản phẩm thuộc chủ đề catid=16

Ví dụ 5: Truy vấn những sản phẩm thuộc chủ đề catid=16 và giá lớn hơn 190000

Ví dụ 6: Truy vấn lấy từ mẫu tin 10 và lấy 20 mẫu tin trong bản sản phẩm thõa mãn điều kiện là: thuộc chủ đề catid=16 và giá lớn hơn 190000

Ví dụ 7: Lấy ra  catname và catslug của những mẫu tin trong bảng loại sản phẩm

Ví dụ 8: Lấy ra giá lớn nhất trong bản sản phẩm

Ví dụ 9: Lấy ra giá nhỏ nhất trong bản sản phẩm

Ví dụ 10: Lấy ra giá trung bình trong bản sản phẩm

Ví dụ 11: Tính tổng số tiền của những sản phẩm của loại catid=16

Ví dụ 12: Truy vẫn những mẫu tin từ bảng db_product

Ví dụ 13: Truy vấn và trả về những mẫu tin gồm(pid, proname, proslug, catname, price)

Ví dụ 14: Truy vấn lấy những sản phẩm thõa mãn điều kiện là: thuộc chủ đề catid=16 và giá lớn hơn 190000

Hoặc

Ví dụ 15: Truy vẫn những sản phẩm thuộc loại sản phẩm catid=16 hoặc catid=17

Ví dụ 16: Truy vấn những sản phẩm thuộc chủ đề catid =16,17,18,19,20

Ví dụ 17: Truy vấn những sản phẩm không thuộc chủ đề catid =16,17

Ví dụ 18: Truy vấn và tìm ra những sản phẩm có tên là “giầy”

Ví dụ 19: Truy vấn và tìm ra những sản phẩm có tên là “giầy” hoặc thuộc loại catid=16

Ví dụ 20: Truy vấn và tìm ra những sản phẩm có tên là “giầy” và không thuộc loại catid=16

Ví dụ 21: Thông kê tổng số tiền(price) của các loại sản phẩm

Ví dụ 22: Truy vấn tất cả các sản phẩm được sắp xếp theo thứ tự ngày đăng mới nhất.

Ví dụ 23: Truy vấn và lấy 10 mẫu tin đầu tiên

Ví dụ 24: Truy vấn lấy 10 mẫu tin và lấy từ mẫu tin thứ 5

Ví dụ 25: Cho biết có bao nhiêu sản phẩm

Ví dụ 26: Có bao nhiêu sản phẩm có tên là “giầy”

Ví dụ 27: Truy vấn và trả về danh sách các sản phẩm thuộc loại catid=16,17 có trạng thái prostateid=1

Ví dụ 28: Truy vấn thêm(insert)

Ví dụ 29: Truy vấn cập nhật(update), cập nhật mẫu tin có pid = 16

Ví dụ 30: Truy vấn xóa, xóa mẫu tin có pid=16

Hoặc

 

Học Codeignter