PHP と SQLite を使用してページング機能と検索機能を実装する
Web 開発では、ページング機能と検索機能は非常に一般的で実用的な機能です。この記事では、PHP と SQLite を使用してこれら 2 つの関数を実装する方法を紹介し、対応するコード例を示します。
まず、データを保存するための SQLite データベースを作成する必要があります。 ID、名前、年齢などのフィールドを含むユーザー情報を含むテーブルがあるとします。次の SQL コマンドを使用してテーブルを作成できます:
CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER );
次に、データベースに接続してデータをクエリするための PHP コードを記述する必要があります。データベースに接続し、ユーザーが入力したページ番号と検索キーワードを取得したとします。次のコードを使用して、クエリとページネーションを行うことができます。
// 获取页码和搜索关键字 $page = isset($_GET['page']) ? intval($_GET['page']) : 1; $keyword = isset($_GET['keyword']) ? $_GET['keyword'] : ''; // 计算分页偏移量 $offset = ($page - 1) * 10; // 构建查询SQL语句 $sql = "SELECT * FROM users"; if ($keyword) { $sql .= " WHERE name LIKE '%$keyword%'"; } $sql .= " LIMIT 10 OFFSET $offset"; // 执行查询 $result = $conn->query($sql); // 输出查询结果 if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "ID: " . $row['id'] . ", Name: " . $row['name'] . ", Age: " . $row['age']; echo "<br>"; } } else { echo "没有找到匹配的结果"; } // 计算总页数 $total = $conn->query("SELECT COUNT(*) FROM users")->fetch_row()[0]; $totalPages = ceil($total / 10); // 输出分页链接 for ($i = 1; $i <= $totalPages; $i++) { echo "<a href='?page=$i'>$i</a> "; }
上記のコードは、まず、ユーザーが入力したページ番号と検索キーワードを取得します。次に、ユーザー入力に基づいてクエリ SQL ステートメントが構築されます。このうち、LIMIT
と OFFSET
はページングの実装に使用されます。最後に、クエリが実行され、クエリ結果が出力されます。同時に総ページ数も計算され、ページネーションリンクが出力されます。
また、検索機能を実装するために、クエリSQL文にキーワードの条件判定を追加しました。このようにして、ユーザーが検索キーワードを入力すると、そのキーワードを含む結果のみがクエリされます。
最後に、フロントエンド ページに検索フォームを追加して、ユーザーがキーワードを入力して送信できるようにします。コードは次のとおりです。
<form action="" method="GET"> <input type="text" name="keyword"> <input type="submit" value="搜索"> </form>
上記のコード例を通じて、シンプルで実用的なページングおよび検索機能を実装できます。もちろん、実際のニーズに応じて、ソート機能の追加やAJAX非同期ロードの使用など、コードの最適化や拡張も可能です。この記事がお役に立てば幸いです!
以上がPHP と SQLite を使用してページングと検索機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。