ホームページ >バックエンド開発 >PHPチュートリアル >兄さん、私のページネーションが異常なので、助けて見てください。

兄さん、私のページネーションが異常なので、助けて見てください。

WBOY
WBOYオリジナル
2016-06-13 13:28:15822ブラウズ

私のページネーションですが、エラーがあります。助けてください
これは私が書いたページネーションです。しかし、たとえば、最後のページをクリックしてから前のページをクリックすると、最初のページをクリックしてから次のページをクリックした後も、彼女はまだこのページにいます。私を助けてください!

$sql = "select * from pl_transaction_sun";
$query = mysql_query($sql);
$num = mysql_num_rows($query);

$pagesize = 3 ;
$start = $_GET['start'];
$flag = $_GET['flag'];

// $start に値があるかどうかを判定します。 if ($ start == null) {
$start = 0;
}

//$flag に値があるかどうかを判断します
if ($flag == null) {
$flag = 0 ;
}

$sql1 = "select * from pl_transaction_sun 制限 $start, $pagesize";
$query1 = mysql_query($sql1);
//$num1 = mysql_num_rows ($ query1);

//フラグビットを判断して $start の値を決定します
if ($flag == 1 and $start+$pagesize < $num){
$start = $start+$pagesize;
}
if ($flag == 2 and $start+$pagesize > 0){
$start = $start-$pagesize;

// 最終ページ開始フラグ
if (($num % $pagesize) != 0){
$lastpage = $num - ($num % $pagesize);
}else{
$lastpage = $num - $pagesize;
}

//ページ数と現在のページコードを判定
$pagenum = ceil($num / $pagesize);
if ($ start == 0){
$nowpage = 1;
}else{
$nowpage = ($start / $pagesize) + 1;
print ("

");
//ページ表示判定部
if ($start == 0 and $pagesize < $num){
print (" [次のページ]
【最後のページ】
");
}elseif ($start > = $num-$pagesize および $pagesize < $num){
print ("
【ホーム】
【前のページ】 【下のページ】【最後のページ】
");
}elseif ($pagesize >= $num ){
print ("【 トップページ 】 [前のページ] [次のページ] [最後のページ]");
}else{
print ("
【ホーム】
【前のページ】
【次のページ】
【最後のページ】");
}



-----解決策---------

$query1 = mysql_query($sql1);
新しい $start が生成された後に実行する必要があります制御ロジックが複雑すぎるため、表示されると予想されるページ番号を渡すだけです。調整することをお勧めします


------解決策-----

初心者にとって、すべては単なる雲です。
------解決策------------------
ページングは​​実際には非常に簡単です。ページングの量を決めるだけです。 1 ページのストリップに表示し、すべてのストリップをカウントします
------解決策----------------------
ページングは​​、Web プログラムが越えなければならない小さなギャップです。時間をかける価値はあります。
あまりにも多くの場所で使用されるため、クラス内の関数またはメソッドにカプセル化する必要があります
PHP コード
$page = isset($_GET['ページ']) intval($_GET['ページ']) : 1; $perNum = 10; $offset = max((($page-1) * $perNum), 0);//SQL の場合 $vpage = ページ($total,$page,$perNum, $url);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。