ホームページ  >  記事  >  バックエンド開発  >  PHP と SQLite を使用してページングと検索機能を実装する

PHP と SQLite を使用してページングと検索機能を実装する

WBOY
WBOYオリジナル
2023-07-28 21:55:261113ブラウズ

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 ステートメントが構築されます。このうち、LIMITOFFSET はページングの実装に使用されます。最後に、クエリが実行され、クエリ結果が出力されます。同時に総ページ数も計算され、ページネーションリンクが出力されます。

また、検索機能を実装するために、クエリSQL文にキーワードの条件判定を追加しました。このようにして、ユーザーが検索キーワードを入力すると、そのキーワードを含む結果のみがクエリされます。

最後に、フロントエンド ページに検索フォームを追加して、ユーザーがキーワードを入力して送信できるようにします。コードは次のとおりです。

<form action="" method="GET">
    <input type="text" name="keyword">
    <input type="submit" value="搜索">
</form>

上記のコード例を通じて、シンプルで実用的なページングおよび検索機能を実装できます。もちろん、実際のニーズに応じて、ソート機能の追加やAJAX非同期ロードの使用など、コードの最適化や拡張も可能です。この記事がお役に立てば幸いです!

以上がPHP と SQLite を使用してページングと検索機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。