Bài viết này sẽ hướng dẫn các bạn xử lý dữ liệu với database wordpress thông qua lớp WPDB. Sử dụng các phương thức mà lớp WPDB đã viết sẵn trong wordpress để tương tác với cơ sở dữ liệu database.
Như các bạn cũng đã biết trong wordpress có hỗ trợ rất nhiều hàm xử lý để thêm mới, sửa, xóa dữ liệu trong database ví dụ như the_post(), the_content(),…. Tuy nhiên, những hàm này chỉ tương tác với những table mặc định trong wordpress như post, postmeta, term, termmeta,.. Vậy khi bạn tạo thêm table trong database để phục vụ cho việc lưu trữ dữ liệu mà các table mặc định của wordpress không thể đảm nhận được thì bạn sẽ phải xử lý tương tác với database như thế nào?.
Xử lý thêm dữ liệu và database
Để thêm dữ liệu vào database, chúng ta sử dụng
1 |
$wpdb->insert( $table, $data, $format ); |
Trong đó $table là tên table mà bạn muốn insert dữ liệu vào, $data là một array dữ liệu insert, $formart dữ liệu insert vào
Ví dụ cụ thể
1 2 3 4 5 6 7 8 9 10 11 |
$wpdb->insert( 'table_name', array( 'column1' => 'value1', 'column2' => 123 ), array( '%s', '%d' ) ); |
Sau khi insert xong, nếu bạn muốn lấy id của bản ghi vừa insert vào thì hãy sử dụng $wpdb->insert_id
Thay thế dữ liệu trong database
Để thay thế dữ liệu trong database, bạn sử dụng
1 |
$wpdb->replace( $table, $data, $format ); |
Trong đó $table là tên bảng mà bạn đang thao tác, $data là mảng dữ liệu bạn thay thế, $format là format cho dữ liệu data (có thể là mảng hoặc string).
Ví dụ cụ thể
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$wpdb->replace( 'table', array( 'indexed_id' => 1, 'column1' => 'value1', 'column2' => 123 ), array( '%d', '%s', '%d' ) ); |
Cập nhật dữ liệu trong table
Để cập nhật dữ liệu trong database, bạn sử dụng
1 |
$wpdb->update( $table, $data, $where, $format = null, $where_format = null ); |
Trong đó $table là tên bảng bạn đang thao tác, $data là dữ liệu bạn cần update, $where là điều kiện, $format là format cho dữ liệu data, $where_format là format cho $where
Ví dụ cụ thể
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$wpdb->update( 'table', array( 'column1' => 'value1', // string 'column2' => 'value2' // integer (number) ), array( 'ID' => 1 ), array( '%s', // value1 '%d' // value2 ), array( '%d' ) ); |
Xoá dữ liệu trong database
Để xoá dữ liệu trong database, các bạn sử dụng
1 |
$wpdb->delete( $table, $where, $where_format = null ); |
Trong đó $table là tên bảng bạn đang thao tác, where là điều kiện xoá (Vd như id của row), $where_format là format của where
Ví dụ cụ thể
1 |
$wpdb->delete( 'table', array( 'ID' => 1 ), array( '%d' ) ); |
Sử dụng query để xử lý dữ liệu
$wpdb->get_var trả ra number
1 |
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" ); |
$wpdb->get_row lấy ra 1 bản ghi trong câu truy vấn
1 |
$wpdb->get_row('query', output_type, row_offset); |
output_type là kiểu dữ liệu trả ra: OBJECT, ARRAY_A, ARRAY_N
row_offset là bản ghi thứ bao nhiêu trong câu truy vấn được: default là 0
Ngoài ra còn một số hàm như $wpdb->get_col(), $wpdb->get_results();
Tóm lại, với lớp wpdb bạn có thể có rất nhiều cách để xử lý dữ liệu với database. Với bài viết này mình hi vọng các bạn có thể áp dụng được vào trong việc làm website bằng wordpress hiệu quả hơn. Chúc các bạn thành công