ホームページ >バックエンド開発 >PHPチュートリアル >PHP/MySQL_PHP を使用した選択ページでのデータと分割のチュートリアル

PHP/MySQL_PHP を使用した選択ページでのデータと分割のチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:53:25829ブラウズ

このチュートリアルでは、MySQL データベースからデータを選択し、それを複数のページに分割し、ページ番号を使用して表示する方法を説明します。 「Students」という名前の MySQL テーブルには、次のフィールドを持つ 90 個のレコードがあります。 名前 - データ型 varchar(250) ****** - varchar(250) 代わりに、単一の SELECT クエリを実行してすべてを表示します。 90 個のレコードがある場合、 1 ページに最大 20 レコードを含む 5 ページを含めることができます。これを行うには、SELECT コマンドの LIMIT 句を使用する必要があるため、クエリを 20 レコードのみ表示するように制限できます。 LIMIT 句を使用すると、どのレコードから開始するかを指定することもできます。たとえば、このクエリ

$sql = "SELECT * 学生から ORDER BY 名前 ASC LIMIT 0, 20";
最初のレコードから始まる名前順にソートされた 20 レコードを返します。今すぐお問い合わせください
$sql = "SELECT * FROM 学生から ORDER BY 名前 ASC LIMIT 50, 20";
再度名前を並べ替えますが、今回は 50 番目のレコードから始まる 20 レコードになります。
したがって、基本的にこの句 (limit start、count) では、「start」で開始レコードを指定し、「count」で表示するレコードの数を指定します。 次に行うことは、テーブルの 20 番目のレコードを表示する pagination.php という PHP ファイルを作成することです。以下のコードは、テーブル内のデータを選択して出力します。

if (isset($_GET["ページ"])) { $page = $_GET["ページ"] } else { $page=1; $start_from = ($page-1) * 20;
$sql = "SELECT * FROM 学生から注文 名前 ASC LIMIT $start_from, 20";
$rs_result = mysql_query ($sql, $connection);
?>
<テーブル>
名前電話
while ($row = mysql_fetch_assoc($rs_result)) {
?>
                                                                                                                                                                                                                                                                                                                                                   &lt; td&gt;&lt;?                                                                                                         };
?>

Web ブラウザで pagination.php を開くと、「Students」テーブルの 20 番目のレコードを示すテーブルの 2 行目上のコードが表示されます
if (isset($_GET["ページ"])) { $page = $_GET["ページ"] } else { $page=1; $start_from = ($page-1) * 20;
は、表示したいページに応じて $start_from 変数を作成するために使用されます。後で、URL を使用して別のページ (例: pagination.php? = 2 ページ) を使用して「pages」値を渡すことがわかります。次に、必要なテーブルとページ内のレコードの合計数を調べる必要があります。これを行うには、COUNT() 関数を使用して別のクエリを実行します。 ウェブマスター百科事典

$sql = "生徒から COUNT(名前) を選択";
$rs_result = mysql_query($sql,$connection);
$row = mysql_fetch_row($rs_result);
$total_records = $row[0];
$total_records は、データベース内のレコード数 (この場合は 90) と等しくなります。ページごとに 20 レコードがあるため、必要なページの総数は 5 になります (20 レコードを含む 4 ページと、最後のページには 10 レコードがあります)。 PHP を必要とする Web ページの数をカウントするには、CEIL() 関数を使用できます。

$total_pages = ceil($total_records / 20);
レコードの総数をページあたりのレコード数で割った後、CEIL() 関数が結果を切り上げます。これで、2 つの新しい変数ができました - $total_records は $90 に等しく、total_pages は 5 に等しくなります
ページ番号とアフィリエイト URL を出力するには、番号ごとに () ループを使用します。

for ($i=1; $i<=$total_pages; $i++) {

echo "".$i." ";
};
?>

上記のコードは 1 から 5 までの数字を出力します。各数字は異なる方法で作成されます。上記の SELECT クエリでは、各リンクが異なるページ値を使用して渡されていることがわかります。 最後に、次のようなファイルが完成します (MySQL 接続文字列を忘れずに追加してください):

if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 20;
$sql = "SELECT * FROM 学生から注文 名前 ASC LIMIT $start_from, 20";
$rs_result = mysql_query ($sql,$connection);
?>
<テーブル>
名前電話
while ($row = mysql_fetch_assoc($rs_result)) {
?>
           
           
           
           
};
?>

$sql = "生徒から COUNT(名前) を選択";
$rs_result = mysql_query($sql,$connection);
$row = mysql_fetch_row($rs_result);
$total_records = $row[0];
$total_pages = ceil($total_records / 20);
 
for ($i=1; $i<=$total_pages; $i++) {
            echo "".$i." ";
};
?>
この pagination.php ファイルは、各ページに最大 20 行の承認を印刷し、下部 5 コードは 1 つのトップ面に異なる 20 行の承認のリストを表示します。助けが必要です、私たちは一つの買い物をします。

作者:newcnzz

http://www.bkjia.com/PHPjc/478038.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478038.html技術記事この教義は、MySQL データベース内のデータがどのように選択され、複数のセクションに分割され、コードが使用されているかを報告します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。