2015-01-07 106 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」; ?
}
>