ホームページ >バックエンド開発 >PHPチュートリアル >PHP と PDO: ページング クエリを実行してデータを表示する方法
PHP と PDO: ページ内のデータをクエリして表示する方法
Web アプリケーションを開発する場合、ページ内のデータをクエリして表示することは非常に一般的な要件です。ページングにより、一度に一定量のデータを表示できるため、ページの読み込み速度とユーザー エクスペリエンスが向上します。 PHP では、PHP データ オブジェクト (PDO) ライブラリを使用して、ページング クエリとデータの表示の機能を簡単に実現できます。この記事では、PHP で PDO を使用してページごとにデータをクエリおよび表示する方法と、対応するコード例を紹介します。
1. データベースとデータ テーブルを作成する
まず、データを保存するデータベースとデータ テーブルを作成する必要があります。この例では、学生情報を例として、「students」という名前のデータ テーブルを作成します。データ テーブルには、ID (主キー、自動インクリメント)、名前、性別、年齢のフィールドが含まれています。
存在しない場合はデータベースを作成 mydb
;
使用 mydb
;
存在しない場合はテーブルを作成 students
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(255) NOT NULL,
gender
varchar(10) NOT NULL,
age
int(11) NOT NULL,
PRIMARY KEY (id
)
);
2. データベース接続とクエリ
PHP では、まずデータベースとの接続を確立し、PDO を使用してデータベース クエリ操作を実行する必要があります。以下は、単純なデータベース接続とクエリのサンプル コードです:
$host = "localhost";
$dbName = "mydb";
$user = " root";
$pass = "パスワード";
try {
$db = new PDO("mysql:host=$host;dbname=$dbName", $user, $pass ) ;
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "接続に失敗しました: " . $e->getMessage ( );
}
$query = "SELECT * FROM students";
$stmt = $db->prepare($query);
$stmt->execute( ) ;
$students = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
上記のコードでは、まずデータベースの接続パラメーター (ホスト名) を定義します。 、データベース名、ユーザー名、パスワード) を入力し、PDO クラスのコンストラクターを使用してデータベースへの接続を確立します。次に、PDO のエラー モードを例外モードに設定して、エラーが発生したときに例外をキャッチして処理できるようにします。次に、単純なクエリ ステートメント「SELECT * FROM students」を実行し、クエリ結果を $students 配列に保存しました。
3. ページングでのデータの表示
ページング クエリを実行するときは、データの合計数、各ページに表示されるデータの数、および現在のページ番号。以下は、ページ内のデータを表示する簡単なコード例です:
$perPage = 10; // ページごとに 10 個のデータを表示します
$total = count($students ); //データ項目の総数
$pages = ceil($total / $perPage); //ページの総数
$page = isset($_GET['page']) ? $_GET ['page'] : 1; // 現在のページ番号、デフォルトは 1
$start = ($page - 1) * $perPage; // 現在のページの開始位置
$query = " SELECT * FROM students LIMIT $start, $perPage";
$stmt = $db->prepare($query);
$stmt->execute();
$students = $stmt- >fetchAll(PDO::FETCH_ASSOC);
foreach($students as $student) {
echo $student['name'] . ", " . $student[ 'gender'] . " , " . $student['age'] . "
";
}
//ページングリンク
for($i = 1; $i < ;= $pages; $ i) {
echo " ";
}
?>
上記のコードでは、まず、ページに表示されるデータ項目の数を定義します。各ページを 10 として扱います。次に、データ項目の総数とページ数の合計を計算します (切り上げ関数 ceil() によって)。次に、($_GET['page'] パラメーター経由で) 現在のページ番号を取得し、現在のページの開始位置を計算します。 LIMIT 句を使用して開始位置を制限し、クエリ結果の表示量を制限し、ページング クエリを実装します。最後に、foreach ループを使用してクエリ結果を反復処理し、データを表示します。ループの外側では、for ループを使用してページネーション リンクを生成し、リンクをクリックして別のページ番号に切り替えます。
結論
PDO を使用すると、ページング クエリとデータ表示の機能を簡単に実装できます。 PDO を使用してデータベースとの接続を確立し、クエリ ステートメントを実行して結果セットを取得できます。その後、必要に応じて表示をページ分割し、ページ分割されたリンクを生成できます。この記事では、PHP と PDO を使用してページング クエリを実装し、データ関数を表示する方法を読者が理解できるように、簡単なサンプル コードを提供します。
以上がPHP と PDO: ページング クエリを実行してデータを表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。