Php mySQL上一次/下一次查询
我正在试图找到一种方法,使用上一个和下一个按钮来显示给定查询排序的更多数据,就像分页一样 问题是:Php mySQL上一次/下一次查询,php,mysql,Php,Mysql,我正在试图找到一种方法,使用上一个和下一个按钮来显示给定查询排序的更多数据,就像分页一样 问题是: $query = "SELECT * FROM wp_posts p LEFT OUTER JOIN wp_term_relationships r ON r.object_id = p.ID LEFT OUTER JOIN wp_term_taxonomy x ON x.term_taxonomy_id = r.term_taxo
$query = "SELECT *
FROM wp_posts p
LEFT OUTER JOIN wp_term_relationships r ON r.object_id = p.ID
LEFT OUTER JOIN wp_term_taxonomy x ON x.term_taxonomy_id = r.term_taxonomy_id
LEFT OUTER JOIN wp_terms t ON t.term_id = x.term_id
LEFT JOIN wp_postmeta pm ON p.id = pm.post_id
WHERE p.post_status = 'publish'
AND pm.meta_key = 'xTraData'
AND p.post_type = 'post'
AND t.slug = 'press-coverage'
ORDER BY p.post_date DESC LIMIT 0,6;";
如何获取用于刷新查询字符串的下一个/上一个按钮的上一个id和下一个id。在本例中,上一个id将是
null
,下一个id可能是7。如果您总是希望一次记录X,您可以限制$next\u ID,($next\u ID+$X)
,并相应地修改上一个和下一个变量。您可以使用$\u get变量获取它们,该变量可以从URL发送。处理它们以提高您的限制
mysql限制定义要获取多少行以及从何处获取
因此,0,6
在查询中说从0
(首先)开始,然后选择6
行
$p_num = isset($_GET['pagenumber']) && (int)$_GET['pagenumber'] > 0 ? $_GET['pagenumber'] : 0;
$p_size = 6;
$query = "SELECT *
FROM wp_posts p
LEFT OUTER JOIN wp_term_relationships r ON r.object_id = p.ID
LEFT OUTER JOIN wp_term_taxonomy x ON x.term_taxonomy_id = r.term_taxonomy_id
LEFT OUTER JOIN wp_terms t ON t.term_id = x.term_id
LEFT JOIN wp_postmeta pm ON p.id = pm.post_id
WHERE p.post_status = 'publish'
AND pm.meta_key = 'xTraData'
AND p.post_type = 'post'
AND t.slug = 'press-coverage'
ORDER BY p.post_date DESC LIMIT ".(($p_num-1) * $p_size).",".$p_size.";";
现在,发送一个请求,比如:
yourpage.php?pagenumber=2
,它将查询第二个页面,其中一个页面将包含大约6个项目。因此pagenumber=0将生成0,6,而pagenumber=1将生成10,6。。那不应该是5,6吗?如果p_num是0,那么它的-6(0-1*6)?@StealthRT,这是基本的算术。这不是一个为我编写代码的社区。无论如何,检查一下更新。我是说$p_num-1需要是$p_num,不带-1。@实际上,当你查询第二页(2)时,限制应该从5开始,而不是11,所以-1
是必要的。试试我的代码。