Javascript 如何使用php对mysql数据库中检索到的数据进行分页?

Javascript 如何使用php对mysql数据库中检索到的数据进行分页?,javascript,php,Javascript,Php,在这里,我使用get方法从搜索表单中收集类别和区域值。因此,由于我在数据库中有7条记录,我希望每页只显示4条记录,当用户单击“下一步”按钮时,剩余的记录需要显示,但在这里,我的代码仅显示数据库中的前四条记录,但当我单击“下一步”按钮时,剩余的3条记录不会显示 考虑面积=孟买,类别=草坪。如果数据库中只有7条记录,那么我希望前四条记录显示在第一页,其余3条记录显示在同一页上,单击“下一步”按钮 这是我的密码: <?php $link=mysql_connect("localhost"

在这里,我使用get方法从搜索表单中收集类别和区域值。因此,由于我在数据库中有7条记录,我希望每页只显示4条记录,当用户单击“下一步”按钮时,剩余的记录需要显示,但在这里,我的代码仅显示数据库中的前四条记录,但当我单击“下一步”按钮时,剩余的3条记录不会显示

考虑面积=孟买,类别=草坪。如果数据库中只有7条记录,那么我希望前四条记录显示在第一页,其余3条记录显示在同一页上,单击“下一步”按钮

这是我的密码:

<?php
    $link=mysql_connect("localhost","root","");
    mysql_select_db("celebration_db",$link);
    $q="select count(*) \"total\"  from hallinfo";
    $ros=mysql_query($q,$link);
    $row=(mysql_fetch_array($ros));
    $total=$row['total'];
    $dis=4;
    $total_page=ceil($total/$dis);
    $page_cur=(isset($_GET['page']))?$_GET['page']:1;
    $k=($page_cur-1)*$dis;

    $category = $_GET['category'];
    $area = $_GET['area'];
    //$category = 'hall';
    //$area = 'nagpur';

    echo $category;
    echo $area;

    $q="select * from hallinfo where category = '$category' AND area = '$area' limit $k,$dis";
    //$q="select * from hallinfo limit $k,$dis";

    $ros=mysql_query($q,$link);
    while($row=mysql_fetch_array($ros))
    {
        $imageId = $row['id'];
echo '<div id="pattern">';    
echo '<table>';
echo '<tr>';
echo '<td colspan="2" width="300px" height="200px">
        <img src="image-show.php?id='.$imageId.'">';
echo '</td>';
echo '<td width="150px" height="200px">'.$row['description'];
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td>'.$row['rent'];
echo '</td>';
echo '<td>'.$row['capacity'];
echo '</td>';
echo '<td>'.$row['area'];
echo '</td>';
echo '</tr>';
echo '</table>';
echo '</div>';
    }
    //echo '</table>';
    //echo '<br/>';
    if($page_cur>1)
    {
        echo '<a href="pagination.php?page='.($page_cur-1).'" style="cursor:pointer;color:green;" ><input style="cursor:pointer;background-color:green;border:1px black solid;border-radius:5px;width:120px;height:30px;color:white;font-size:15px;font-weight:bold;" type="button" value=" Previous "></a>';
    }
    else
    {
      echo '<input style="background-color:green;border:1px black solid;border-radius:5px;width:120px;height:30px;color:black;font-size:15px;font-weight:bold;" type="button" value=" Previous ">';
    }
    for($i=1;$i<$total_page;$i++)
    {
        if($page_cur==$i)
        {
            echo ' <input style="background-color:green;border:2px black solid;border-radius:5px;width:30px;height:30px;color:black;font-size:15px;font-weight:bold;" type="button" value="'.$i.'"> ';
        }
        else
        {
        echo '<a href="pagination.php?page='.$i.'"> <input style="cursor:pointer;background-color:green;border:1px black solid;border-radius:5px;width:30px;height:30px;color:white;font-size:15px;font-weight:bold;" type="button" value="'.$i.'"> </a>';
        }
    }
    if($page_cur<$total_page)
    {
        echo '<a href="pagination.php?page='.($page_cur+1).'"><input style="cursor:pointer;background-color:green;border:1px black solid;border-radius:5px;width:90px;height:30px;color:white;font-size:15px;font-weight:bold;" type="button" value=" Next "></a>';
    }
    else
    {
     echo '<input style="background-color:green;border:1px black solid;border-radius:5px;width:90px;height:30px;color:black;font-size:15px;font-weight:bold;" type="button" value="   Next ">';
    }
?>

看来你的首要问题在于你的数量。在上面的示例行中,您仅选择类别为的特定行。。而area=..,您的初始行数是返回数据库中所有行的计数。因此,虽然总共可能有7行,但对于给定的过滤器,可能只有4行

另外,您应该真正使用mysqli: