2015-01-07 107 views
3

在简单的分页中,点击不同的编号。 1,2,3,4,表中的记录不会更改为 。 Pagenation i created 我在每个页面上显示5记录,如点击1它显示记录从表15,等等。但是,它不会改变。帮助我。分页显示问题php

<?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 
} 
?> 
+0

'的mysql_query( “SELECT * FROM国家限制1,5”);' - 注意'1',它总是从1开始这样;-) –

回答

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(); 
+0

好吧,它的工作和最独特的方式。谢谢。 – 125fura

+0

你可以提出一个最好的方法来添加下一个和上一个选项吗?我知道很多网站,但在任何代码中的一种特定方式,假设只有这个? – 125fura

+0

@ 125fura如果您的意思是分页中的'previous''''''''''''',那么它只是''page_1''和'$ page + 1'的链接,就像'example.com/index.php?page=5' /'example.com/index.php?页= 7' – Justinas

4

您从未在查询中使用您的$page变量。将其更改为

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

,它应该工作

而且,mysql_real_escape_string($page)

+0

我应该申请这个,在第二个查询中还是第一个? – 125fura

+0

在第一个查询。 – Digifaktur

+0

好吧,它工作,并以最独特的方式。谢谢。 – 125fura

1

只需更换与我的SQL查询中的第一个SQL查询:

您的SQL查询 $ SQL =请求mysql_query( “SELECT * FROM国家限制1,5”);

您提供的静态开始限制为 “1”

正确的SQL查询: $ SQL =请求mysql_query( “SELECT * FROM国家限制$ page1,5”);

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

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

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

-1

试试这个方法,它比较容易理解。
//代码数据库连接

$ left_rec = $ rec_count - ($ page * $ rec_limit);
$ res = mysqli_query(“select * from countries”);
$ rec_count = mysqli_num_rows($ RES); //总没有记录
如果(isset($ _ GET [ '页']))
{
$页= $ _ GET [ '页'] + 1;
$ offset = $ rec_limit * $ page;
}
else
{
$ page = 0;
$ offset = 0;
}
$ rec_limit = 5; //每页记录数
$ offset = $ page * $ rec_limit;
$ left_rec = $ rec_count - ($ page * $ rec_limit);
$ res = mysqli_query(“select * from countries limit $ offset,$ rec_limit”); ($ row = mysqli_fetch_array($ res))
{
echo $ row [“ccode”];
echo $ row [“country”];
echo“
”; ($ page == 0)
{
echo“Next”;
}
否则,如果($ left_rec < = $ rec_limit)
{
$去年= $页面-2;
echo“Prev”; ?
}
>