分页显示问题php

时间:2015-01-07 12:22:53

标签: php html pagination

在简单的分页中,点击不同的时候没有。表中的1,2,3,4,记录没有变化 他们应该这样做。 Pagenation i created 我在每个页面上显示5个记录,如点击1,它会显示从表15的记录,依此类推。但是,它没有变化。帮助我。

<?php
mysql_connect("localhost","root","");
mysql_select_db("bluewater");

$page = $_GET["page"];
if($page=="" || $page=="1")
{
$page1=0;
}
else 
{
$page1=($page*5)-5;
}
$sql=mysql_query("select * from countries limit 1,5");

    while($ser = mysql_fetch_array($sql)) { 
    echo $ser["ccode"];
    echo $ser["country"];
    echo "<br>";
    }
$sql=mysql_query("select * from countries");
$cou=mysql_num_rows($sql);
$a=$cou/5;
$a= ceil ($a);
echo "<br>"; echo "<br>"; 
for ($b=1;$b<=$a;$b++)
{
?><a href="index.php?page=<?php echo $b; ?>" style="text-decoration:none"><?php echo $b." ";?></a> <?php
}
?>

5 个答案:

答案 0 :(得分:6)

1)不要使用 mysql _ 函数,使用mysqli_PDO

2)要通过页面移动,您需要增加查询中的偏移量。

$page = $_GET['page'];
$itemsPerPage = 5;
$offset = ($page * $itemsPerPage) - $itemsPerPage;

$query = $db->prepare("SELECT * FROM `countries` LIMIT {$itemsPerPage} OFFSET {$offset}");
$query->execute();
$results = $query->fetchAll();

答案 1 :(得分:4)

您永远不会在查询中使用$page变量。将其更改为

select * from countries limit ".$page.", 5

它应该有效

另外,mysql_real_escape_string($page)

答案 2 :(得分:2)

$sql=mysql_query("select * from countries limit $page1,5");

用上面的代码替换第一个查询。

答案 3 :(得分:1)

只需用我的sql查询替换你的第一个sql查询:

你的SQL查询 $ sql = mysql_query(“select * from countries limit 1,5”);

您提供的静态启动限制为“1”

更正Sql查询: $ sql = mysql_query(“select * from countries limit $ page1,5”);

使其静态限制为$ page1变量。

答案 4 :(得分:-1)

尝试这种方法。它更容易理解。
//数据库连接代码

$ left_rec = $ rec_count - ($页* $ rec_limit);
$ res = mysqli_query(&#34; select * from countries&#34;);
$ rec_count = mysqli_num_rows($ res); //记录总数
如果(isset($ _ GET [&#39;页面&#39;))
{
     $页= $ _ GET [&#39;页面&#39;] + 1;
     $抵消= $ rec_limit * $页;
}
否则
{
    $页= 0;
    $偏移= 0;
}
$ rec_limit = 5; //每页没有记录
$抵消= $页* $ rec_limit;
$ left_rec = $ rec_count - ($页* $ rec_limit);
$ res = mysqli_query(&#34; select * from countries limit $ offset,$ rec_limit&#34;);
 while($ row = mysqli_fetch_array($ res))
 {
    echo $ row [&#34; ccode&#34;];
    echo $ row [&#34; country&#34;];
    echo&#34;
&#34;;
 }
如果($页== 0)
{
     回波&#34;接着&#34 ;;
}
否则if($ left_rec&lt; = $ rec_limit)
{
     $最后= $页面-2;
     回波&#34;上&#34 ;;
}
?&GT;