10/10/2018, 11:45
mới học lập trình php xin giúp giùm lấy thông tin từ 2 bảng trong csdl mysql
Các anh trong diễn đàn giúp em với. em có 2 bảng dữ liệu trong mysql như sau:
bảng danh mục bài viết: categories
cate_id
cate_name
bảng bài viết: contents
content_id
content_title
content_img
content_details
cate_id
giờ em phải viết truy vấn sql làm sao để có thể lấy được tất cả thông tin của tất cả các cột từ 2 bảng với điều kiện cate_id = giá trị bất kỳ.
em có viết như vầy
SELECT * FROM contents INNER JOIN categories ON contents . cate_id = categories . cate_id WHERE cate_id = $_GET['id']
nhưng mà không chạy được, chắc là em viết sai rồi. em mới học các anh giúp em làm cái này với.
bảng danh mục bài viết: categories
cate_id
cate_name
bảng bài viết: contents
content_id
content_title
content_img
content_details
cate_id
giờ em phải viết truy vấn sql làm sao để có thể lấy được tất cả thông tin của tất cả các cột từ 2 bảng với điều kiện cate_id = giá trị bất kỳ.
em có viết như vầy
SELECT * FROM contents INNER JOIN categories ON contents . cate_id = categories . cate_id WHERE cate_id = $_GET['id']
nhưng mà không chạy được, chắc là em viết sai rồi. em mới học các anh giúp em làm cái này với.
Bài liên quan
P/s: Đừng dùng * lấy cụ thể các trường cần thiết cho dù bạn có muốn lấy hết đi chăng nữa nhé !
-> Bạn nên xem mấy bài viết tối ưu hiệu suất cho các câu lệnh truy vấn
>> Bạn up file sql lên cho mọi người giúp bạn !! Mất thời gian tạo db cho bạn lắm
Câu join này không chạy được do 2 bản đều có cate_id nó không phân biệt được sửa "*" thành "contents.*, categories.cate_name". Để xử lý nhanh thì không nên dùng join chỗ này vì nó sẽ làm thừa dữ liệu lấy lên.
- mốc 1 dòng của category lên theo $_GET['id']
- mốc nhiều dòng của contents lên theo $_GET['id']
sau đó view ra
Ngoài ra, bạn nên xử lý filter $_GET['id'] trước khi nét vào query để tránh các lỗi bảo mật nhé.
minh cung lam theo cách này, ok mà