phpで簡単なページング(データベースからレコードを読み出す)を作成する方法の詳細
2841 ワード
PHP初心者は、ずっとページを作りたいと思っていたので忘れてしまいましたが、今日は注意されてネットで検索しました.一部の書いたものは読めないし、あまり見に行かなかった.最後に簡単なものを見つけました.
大まかな考えは、
1.ページごとに表示するレコードの最大数を設定します.
2.合計ページ数の計算
3.現在のページと合計ページ数を比較して接続の状態を変更
4.limit制御でデータベースからレコードを読み込む
コードは次のとおりです.
これはとても簡単な方法です.通行人の皆さん、他のタイプの方法があれば、教えてください.
大まかな考えは、
1.ページごとに表示するレコードの最大数を設定します.
2.合計ページ数の計算
3.現在のページと合計ページ数を比較して接続の状態を変更
4.limit制御でデータベースからレコードを読み込む
コードは次のとおりです.
$conn = mysql_connect('localhost','root','');
mysql_select_db('db_BookStore',$conn);
mysql_query("set names utf8");
if(isset($_GET['page'])) // page , , 1
{
$page = intval($_GET['page']);
}
else
{
$page = 1;
}
$page_size = 2; //
$sql = "SELECT count(*) as amount FROM tb_BookInfo";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
//
$amount = $row['amount'];
if($amount)
{
if($amount < $page_size){$page_count = 1;}
if($amount % $page_size){$page_count = (int)($amount / $page_size) + 1; }
else{$page_count = $amount / $page_size;}
}
else
{
$page_count = 0;
}
//
$page_string = "";
if($page == 1)
{
$page_string .= " | ";
}
else
{
$page_string .= "トップページ | のページ";
}
$page_string .= "| $page |";
if($page == $page_count)
{
$page_string .= " | ";
}
else
{
$page_string .= " のページ | ページ";
}
$sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);
while ( $row = mysql_fetch_row($result) ){
$rowset[] = $row;
}
?>
これはとても簡単な方法です.通行人の皆さん、他のタイプの方法があれば、教えてください.