Php 多个查询的SQL限制

Php 多个查询的SQL限制,php,sql,Php,Sql,我有一个分页脚本,它获取页面变量并在sql查询中输入限制值 LIMIT $page, $limit2 这一切都很好,问题是我有2个sql查询,所以限制0,10显示第一次查询的10个结果,然后第二次查询的10个结果=每页20个结果,我需要的是显示第一次查询的10个结果,在第二页显示第一次查询的其余结果,然后才打印第二次查询的结果 在整个查询之前,我尝试了if语句,在while中循环a++增量,以偶数找到结果,然后运行第二个QRY,但它似乎不起作用 我也尝试过类似的方法,但很少进行物理操作,但效

我有一个分页脚本,它获取页面变量并在sql查询中输入限制值

LIMIT $page, $limit2 
这一切都很好,问题是我有2个sql查询,所以限制0,10显示第一次查询的10个结果,然后第二次查询的10个结果=每页20个结果,我需要的是显示第一次查询的10个结果,在第二页显示第一次查询的其余结果,然后才打印第二次查询的结果

在整个查询之前,我尝试了if语句,在while中循环a++增量,以偶数找到结果,然后运行第二个QRY,但它似乎不起作用

我也尝试过类似的方法,但很少进行物理操作,但效果也不太好

    if($page==$printf2)
    {$limit2=10;} 
    if($page==0)
    {$limit2=0;}

在第一个QRY列表结束后,如果每页的结果不超过10个,那么制作第二个QRY列表的正确方法是什么?

您是否评估过使用联合声明

SELECT * FROM xxxxx (first query) 
UNION ALL
SELECT * FROM YYYYYY (second query)
$sql=“QUERY1 LIMIT$page,$LIMIT”;
$result=mysql\u查询($result);
/*在这里处理结果*/
if(mysql_num_rows($result)<10){
$sql2=“QUERY2 LIMIT$page,$limit2”;
$result=mysql\u查询($result);
/*查询2的处理结果*/
}

这样,只有当查询1返回的行是表中的最后一组行时,才会执行查询2。

您是否也可以发布查询?也许可以合并它们,然后只使用一个限制子句。它看起来不错,但它的作用与我尝试的其他if语句相同,在第2页上,由于查询内容更改,行数始终相同……因此它只打印第一个Qry。@Arremer:不太可能。只有在最后一页上,
mysql\u num\u rows()
才会小于10。只有这样,才会执行第二个查询,并且您可以列出第二个查询的结果。因此,在第一次查询返回所有行之前,不会执行第二次查询。union将为我省去很多麻烦,我已经尝试了一段时间,问题是查询比基本示例要大一些。我必须运行几个查询才能为查询1获得足够的数据。
$sql = "QUERY1 LIMIT $page, $limit";
$result = mysql_query($result);

/* process the result here! */

if (mysql_num_rows($result) < 10) {
    $sql2 = "QUERY2 LIMIT $page, $limit2";
    $result = mysql_query($result);

    /* process result of query 2 */
}