我创建了一个自定义表,用于在 WordPress 中存储“帖子喜欢”。
$sql[] = "CREATE TABLE IF NOT EXISTS {$table_prefix}like (
id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
post_id bigint(20) NOT NULL,
user_id bigint(20) NOT NULL,
KEY recommenders (post_id, user_id)
) {$charset_collate};";
当用户点击 WordPress 帖子上的“赞”按钮时,表中会添加一行,用于捕获用户 ID 和帖子 ID。
要获取“喜欢”特定帖子的所有用户 ID 的数组,我可以这样做:
$result = $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$table_prefix}like WHERE post_id = %d", $post_id ) );
我现在想做两件事:
如何修改我的查询,以便添加到表中的最新行首先返回到
$result
数组中?如何执行与问题 1 完全相同但仅返回 5 行的操作?
最佳答案
对于 1:您可以通过在查询中添加 ORDER BY `id` DESC
来按您的 id
以降序对它们进行排序。
对于 2:还添加 LIMIT 0, 5
:
$result = $wpdb->get_col( $wpdb->prepare( "SELECT `user_id` FROM `{$table_prefix}like` WHERE `post_id` = %d ORDER BY `id` DESC LIMIT 0, 5", $post_id ) );
关于php - 在 WordPress 中查询自定义表以首先返回最新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23640497/