如何使用MySQL和PHP对多个搜索结果进行分页?

如何使用MySQL和PHP对多个搜索结果进行分页?,php,mysql,pagination,search-engine,information-retrieval,Php,Mysql,Pagination,Search Engine,Information Retrieval,我在做一个网络搜索引擎项目。我正在研究分页功能。当我点击页面时,它会给出突然的结果,并给出未定义变量:page1 error。怎么办 if(isset($_GET['page'])) //results displayed based on page selection { $page=$_GET['page']; if($page=="" || $page=="1") { $page1=0; } else { $p

我在做一个网络搜索引擎项目。我正在研究分页功能。当我点击页面时,它会给出突然的结果,并给出
未定义变量:page1 error
。怎么办

if(isset($_GET['page'])) //results displayed based on page selection
    {
    $page=$_GET['page'];
    if($page=="" || $page=="1")
    {
        $page1=0;
    }
    else
    {
    $page1=($page*10)-10;
    }
    }

$numrows1 = mysqli_num_rows($query); // page evaluation and this statement calculates number of resultant rows
$a = $numrows1/10; //10 is for number of results per page and $a gives number of pages
$a = ceil($a);
echo "<br>"; echo "<br>";
    for($b=1; $b<=$a; $b++)
    {
        ?><a href="search.php?page=<?php echo $b; ?>" style="text-decoration:none;"><?php echo $b."  ";?></a><?php
    }
if(isset($\u GET['page'])//根据页面选择显示结果
{
$page=$_GET['page'];
如果($page==“”| |$page==“1”)
{
$page1=0;
}
其他的
{
$page1=($page*10)-10;
}
}
$numrows1=mysqli_num_行($query);//页计算,此语句计算结果行数
$a=$numrows1/10//10表示每页的结果数,$a表示页数
$a=ceil($a);
回声“
”;回声“
”;
对于($b=1;$b而言,除非URI中有页面,否则您似乎从未设置页面

我假设如果您使用“page.php?page=1”,它不会抛出该错误,因为$page1将被设置

我个人会这样做:

if(isset($_GET['page']) && $_GET['page'] != 1)//if page is set and page doesn't equal 1
{
    $startingRecord = ($_GET['page'] * 10) - 10;
}
else
{
    $startingRecord = 0;
}
此外,我将
$page1
切换为
$startingRecord
,以便更合理地计算起始记录,而不是页面