Hướng dẫn wordpress query mysql - truy vấn wordpress mysql
Trở lại với chủ đề database của wordpress. Hôm nay mình sẽ hướng dẫn cho các bạn cách query dữ liệu database wordpress, tất nhiên là không dùng cái new WP_Query của wordpress :D. Bài viết này yêu cầu bạn phải có sơ kiến thức về mysql thì mới hiểu được. Mà nếu chưa có kiến thức thì hôm nay tìm hiểu cũng được 😀 Show Hướng dẫn query dữ liệu database wordpress1. Get results Get results sử dụng trong trường hợp lấy nhiều record trong 1 bảng. Ví dụ mình có đoạn code sau:
Với đoạn code trên mình muốn lấy ra 10 bài viết trong bảng wp_posts, có post_type là post. Dữ liệu trả về là 1 array có nhiều array con. 2. Get row Get row sử dụng trong trường hợp bạn muốn lấy ra 1 record. Ví dụ như get 1 bài viết, dùng để get trang chi tiết bài viết…
Với đoạn code trên mình muốn lấy ra 10 bài viết trong bảng wp_posts, có post_type là post. Dữ liệu trả về là 1 array có nhiều array con. 2. Get row Get row sử dụng trong trường hợp bạn muốn lấy ra 1 record. Ví dụ như get 1 bài viết, dùng để get trang chi tiết bài viết…
Với đoạn code trên mình muốn lấy ra 10 bài viết trong bảng wp_posts, có post_type là post. Dữ liệu trả về là 1 array có nhiều array con. 2. Get row Get row sử dụng trong trường hợp bạn muốn lấy ra 1 record. Ví dụ như get 1 bài viết, dùng để get trang chi tiết bài viết…$postID=5;// id bài viết cần lấy $table =$wpdb->prefix.'posts';// Bảng cần lấy Get bài viết có kèm tên tác giả của bài viết đó. $sql ="SELECT * FROM {$table} WHERE `ID` = %d";//câu sql queryTrong database wordpress thì bài viết được lưu ở bảng wp_posts và trong bảng này ko có cột để lưu tên của tác giả, chỉ có cột để lưu id của tác giả là ‘post_author‘. Tên tác giả được lưu ở bảng wp_users. Vì vậy để đáp ứng yêu cầu của bài toán chúng ta từ bảng wp_posts phải join vào bảng wp_user để lấy tên của tác giả như sau:
Với đoạn code trên mình muốn lấy ra 10 bài viết trong bảng wp_posts, có post_type là post. Dữ liệu trả về là 1 array có nhiều array con.
$sql ="SELECT * FROM {$table} WHERE `ID` = %d";//câu sql query $data =$wpdb->get_row($wpdb->prepare($sql,$postID),ARRAY_A);//trả về dữ liệu trong biến $data Đoạn code trên lấy dữ liệu của 1 record có ID là 5. Dữ liệu sẽ trả về 1 mảng chứa thông tin của bài viết có id là 5.Get bài viết có kèm tên và mô tả tác giả của bài viết đó. 3. Get varCũng tương tự như bài toán trên nhưng ở bài này yêu cầu là cần thêm mô tả của tác giả. Mô tả của tác giả thì lại không nằm trong bảng post và user mà nó lại nằm trong bảng wp_usermeta. Vì thế để thực hiện bài toán này chúng ta sẽ tiếp tục join thêm 1 bảng nữa vào code.
Ở bài này mình join thêm 1 bảng wp_usermeta. Bảng user và bảng usermeta liên kết với thông qua user_id. Chúng ta tiến hành join như bình thường! Tóm lại:Bài hôm nay mình đã hướng dẫn cho bạn cách query dữ liệu database wordpress. Cách query này thường áp dụng cho trường hợp bạn tạo bảng mới trong database wordpress mà bảng đó không có hàm nào hỗ trợ get dữ liệu. Ưu điểm:
Nhược điểm:
Để tìm hiểu kỹ hơn về việc query dữ liệu database wordpress các bạn có thể tham khảo tài liệu ở đây: => Class wpdb Chúc các bạn học wordpress hiệu quả! |