Web 開発は、今後の分散プログラム開発の主流になります。通常、Web 開発では、サーバーからデータベースを読み込み、ページ単位で表示するのが便利です。したがって、ページング プログラムの作成は Web 開発の重要な部分です。ここでは、ページング プログラムの作成について一緒に学習します。
1. ページング プログラムの原理
ページング プログラムには 2 つの非常に重要なパラメータがあります。各ページに表示されるレコードの数 ($pagesize) と現在のページは何ページ ($page) です。これら 2 つのパラメーターを使用すると、MySql データベースをデータ ソースとして使用して、テーブル内の特定のコンテンツを削除する場合は、T-SQL ステートメントを使用して簡単に作成できます。 * テーブル制限オフセットから、達成する行数。ここでのオフセットはレコードのオフセットで、その計算方法は offset=$pagesize*($page-1)、rows は表示するレコードの数、ここでは $page です。つまり、ステートメント select * from table limit 10,10 は、テーブルの 11 番目のレコードから始まる 20 レコードを取得することを意味します。
2. メインコード分析
$pagesize=10 //各ページに表示するレコード数を設定します。
$conn=mysql_connect("localhost","root",""); //データベースに接続します。
$rs=mysql_query("select count(*) from tb_product",$conn) //レコードの総数を取得 $rs
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
//総ページ数を計算
$pages=intval($numrows/$pagesize);
//ページ番号設定を判定
if (isset($_GET['page']){
$page=intval($_GET['page']);
}
それ以外{
$page=1; //それ以外の場合は、最初のページに設定されます。
3.
ユースケーステーブル myTable を作成します
create table myTable(id int NOT NULL auto_increment, news_title varchar(50), news_cont text, add_time datetime, PRIMARY KEY(id))
4. コードを完成させます
<html>
<頭>
<title>PHP ページングの例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</頭>
<体>
<?php
$conn=mysql_connect("localhost","root","");
//各ページに表示されるレコード数を設定 $pagesize=1;
mysql_select_db("mydata",$conn);
//レコードの総数 $rs を取得し、$rs=mysql_query("select count(*) from tb_product",$conn); を使用して総ページ数を計算します。
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
//総ページ数を計算
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$ページ++;
//ページ数を設定する if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
それ以外{
//最初のページに設定 $page=1;
}
//レコードオフセットを計算 $offset=$pagesize*($page - 1);
//指定された数のレコードを読み取ります $rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn);
if ($myrow = mysql_fetch_array($rs))
{
$i=0;
?>
<テーブルボーダー="0" 幅="80%">
<tr>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">タイトル</td>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">公開時刻</td>
</tr>
<?php
する {
$i++;
?>
<tr>
<td width="50%"><?=$myrow["news_title"]?></td>
<td width="50%"><?=$myrow["news_cont"]?></td>
</tr>
<?php
}
while ($myrow = mysql_fetch_array($rs));
echo "</table>";
}
echo "<div align='center'> には ".$pages." ページがあります (".$page."/".$pages.")";
for ($i=1;$i< $page;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "[".$page."]";
for ($i=$page+1;$i<=$pages;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "</div>";
?>
</本文>
</html>
5. まとめ
このサンプルコードは Windows2000 サーバー+php4.4.0+mysql5.0.16 上で正常に動作します。この例で示されているページング形式は [1][2][3]… です。 「ホームページ 前ページ 次ページ 最後のページ」という形で表示したい場合は、以下のコードを追加してください
。
$prev=$page-1;
$next=$ページ+1;
$last=$pages;
if ($page > 1)
{
echo "<a href='fenye.php?page=".$first."'>ホームページ</a> ";
echo "<a href='fenye.php?page=".$prev.">前のページ</a> ";
if
($page < $pages)
{
echo "<a href='fenye.php?page=".$next."'>次のページ</a>
echo "<a href='fenye.php?page=".$last.">最後のページ</a> ";
実際、動作原理をマスターしていれば、ページング表示コードの記述は非常に簡単です
。
この記事が、プログラミングのこの側面を必要とする Web プログラマーに役立つことを願っています。