Xem bài viết Thực thi truy vấn query trong WordPress

Thực thi truy vấn query trong WordPress

Dec 12, 2014Wordpress CMS
WordPress là một CMS tuyệt vời để xây dựng các loại trang web bất kỳ trong giờ một ngày. Hơn nữa WordPress còn rất linh hoạt nên chúng ta có thể tạo ra các code riêng, nhúng chúng vào Wordpress và công việc còn lại WordPress sẽ thực thi cho bạn. 
Đối với các bảng table mặc định trong Wordpress thì họ đã tạo ra các chức năng như get_page (), wp_nav_menu (), ..vv Tuy nhiên, đối với một số plugin tùy chỉnh do chúng ta tạo ra thì một nhu cầu khác là cần phải lấy dữ liệu từ các bảng tùy chỉnh riêng của mình. Biết được điều đó WordPress đã đưa ra một sự linh hoạt tuyệt vời cho việc này. WordPress sử dụng lớp ezSQL PHP để thao tác với các cơ sở dữ liệu. WordPress đã cung cấp lớp đối tượng $wpdb để sử dụng để gọi thực thi truy vấn query liên quan đến cơ sở dữ liệu.
Vì thế bài hôm nay chúng ta sẽ cùng đi tìm hiểu cách thực thi truy vấn query trong Database Wordpress.
Trước khi có thể thực thi một câu truy vấn query nào đó thì chúng ta nên chắc rắng đã gọi biến toàn cục $wpdb để sử dụng bằng cách khai báo : global $wpdb;
Để chạy bất kỳ câu truy vấn bình thường nào thì ta dùng $wpdb theo cấu trúc:
 $wpdb->query("your query to custom table");
Câu truy vấn sẽ trả về cho ta một số nguyên dựa vào số dòng bị ảnh hưởng trong database (insert,delete, update, select). Nếu có bất kỳ lỗi nào xảy ra nó sẽ trả về false. Nên lưu ý là trước khi thự thi câu truy vấn nào, đặc biệt là query Insert lấy dữ liệu từ phía người dùng thì chúng ta nên lọc dữ liệu trước khi insert vao databse, ta thực hiện bằng cách:
 $wpdb->escape($user_entered_data_string)

1. Lấy dữ liệu với $wpdb:

Wordpress cho chúng ta 4 function để lấy ra các dữ liệu từ databse.
1.1 get_var(): Function này được sử dụng để lấy một giá trị (single value) từ databse như tính tổng số dòng hay tổng của một cột nào đó.
 $wpdb->get_var("query",column_offset,row_offset);
1.2 get_row(): Function này sẽ giúp chúng ta lấy một dòng dữ liệu trong database, chúng ta có thể nhận kết quả trả về bằng các kiểu dữ liệu khác nhau như đối tượng (object) hoặc mảng key hay mảng theo chỉ mục bằng cách truyền vào tham số thứ 2 trong hàm đó, mặc định là trả về object.
 $wpdb->get_row("query",output_type,row_offset);
1.3 get_col(): Function này dùng để thực thi truy vấn query để lấy dữ liệu của một cột nào đó trong table database.
 $wpdb->get_col("query",column_offset);
1.4 get_results(): Function thực thi truy vấn query lấy ra nhiều dòng dữ liệu trong câu truy vấn. Các kiểu dữ liệu có thể trả về là OBJECT, OBJECT_K, ARRAY_A hay ARRAY_N.
 $wpdb->get_results("query","output type");

2. Thêm mới dữ liệu databse với $wpdb:

Dưới đây là các sử dụng cơ bản để thêm một dòng dữ liệu trong Database Wordpress với $wpdb.
 $wpdb->insert( $table, $data, $format );
$table: Bảng dữ liệu sẽ insert vào.
$data: Mảng giá trị cần insert, mỗi phần tử với key là tên cột, value là giá trị cho cột đó.
$format: Mảng định dạng format cho dữ liệu. ta sẽ dùng %d cho số, %s cho chuỗi và %f cho float.
Sau khi insert thành công ta có thể lấy được ID vừa mới thêm vào bằng cách $wpdb->insert_id
Ví dụ:
 $wpdb->insert( 
	'table', 
	array( 
		'column1' => 'value1', 
		'column2' => 123 
	), 
	array( 
		'%s', 
		'%d' 
	) 
);

3. Cập nhật dữ liệu database với $wpdb: 

Thực hiện truy vấn query  update database trong WordPress sẽ trả về cho ta số dòng đã update thành công hoặc trả về false nếu có bất kỳ lỗi nào xảy ra.
 $wpdb->update( $table, $data, $where, $format = null, $where_format = null );
$table: Bảng dữ liệu cần update
$data: Mảng giá trị sẽ cập nhật, mỗi phần tử với key là tên cột, value là giá trị cho cột đó.
$where: Mảng các điều kiện
$format: Mảng định dạng format cho dữ liệu. ta sẽ dùng %d cho số, %s cho chuỗi và %f cho float.
$where_format: Mảng định dạng format cho dữ liệu điều kiện where
Ví dụ:
 $wpdb->update( 
	'table', 
	array( 
		'column1' => 'value1',	// string
		'column2' => 'value2'	// integer (number) 
	), 
	array( 'ID' => 1 ), 
	array( 
		'%s',	// value1
		'%d'	// value2
	), 
	array( '%d' ) 
);

4. Xoá dữ liệu databse với $wpdb:

Function này dùng để xoá dữ liệu trong table database khi thoả một điều kiện nào đó. Function này sẽ trả về số dòng delete được hoặc trả về false nếu có lỗi xảy ra.
 $wpdb->delete( $table, $where, $where_format = null );
$table: Bảng dữ liệu sẽ delete
$where: Mảng các điều kiện
$where_format: Mảng định dạng format cho dữ liệu điều kiện where
Ví dụ:
 // Default usage.
$wpdb->delete( 'table', array( 'ID' => 1 ) );

// Using where formatting.
$wpdb->delete( 'table', array( 'ID' => 1 ), array( '%d' ) );

Kết luận

Bạn có thích bài viết này không? Nếu có hãy giúp mình like bài viết này nhé hoặc bạn có thể chia sẽ bài này đến những người mà bạn nghĩ họ quan tâm, xin cảm ơn!

Mọi ý kiến đóng góp hay thắc mắc bạn có thể gởi về cho chúng tôi qua form bình luận phía dưới. Cám ơn bạn đã ghé thăm web mình và xin chúc bạn thành công!

Nguồn: 2Cwebvn

 

Leave a Comments