ホームページ >バックエンド開発 >PHPの問題 >ボタンをクリックしてクエリ条件を保存する機能を PHP で実装する方法の簡単な分析

ボタンをクリックしてクエリ条件を保存する機能を PHP で実装する方法の簡単な分析

PHPz
PHPzオリジナル
2023-04-04 10:43:04739ブラウズ

Web サイトの検索ページでは、ボタンをクリックしてクエリ条件を保存する機能を実装する必要があることがよくあります。 PHP はプログラミング言語として、この機能を簡単に実装できます。この記事では、ボタンをクリックしてクエリ条件を保存する機能をPHPで実装する方法を紹介します。

1. 問題の説明

多くの Web サイトの検索ページには、「クエリ条件を保存」ボタンなどのいくつかのボタンがあります。このボタンの機能は、現在の検索条件を保存し、将来再度検索するときに、再入力せずにその条件を直接ロードできるようにすることです。

2. 解決策

この関数を実装するにはさまざまな方法がありますが、この記事では PHP セッションを使用してそれを実現します。セッションはサーバー側に情報を保存する技術であり、セッション変数を設定することでユーザー データの永続的な保存を実現できます。ユーザーがブラウザを閉じると、セッションは自動的に破棄されます。以下では、ボタンをクリックしてクエリ条件を保存する機能を、PHP セッションを使用して実現する方法を紹介します。

  1. 検索ページの作成

まず、以下に示すように、いくつかの検索条件と [クエリ条件を保存] ボタンを含む検索ページを作成する必要があります。 ##

<html>
<head>
    <title>搜索页面</title>
</head>
<body>
    <form method="get" action="result.php">
        <label>关键字:</label>
        <input type="text" name="keyword"><br>
        <label>日期:</label>
        <input type="date" name="date"><br>
        <label>类型:</label>
        <select name="type">
            <option value="1">新闻</option>
            <option value="2">论文</option>
            <option value="3">博客</option>
        </select><br>
        <input type="submit" value="搜索">
        <input type="button" value="保存查询条件" onclick="saveSearch()">
    </form>
</body>
</html>
このページでは、HTML の form タグを使用して検索フォームを作成し、いくつかの HTML 要素を使用して検索条件を入力します。最後の input タグでは、onclick イベントを設定していることに注意してください。ユーザーが [クエリ条件を保存] ボタンをクリックすると、このイベントは JavaScript 関数 saveSearch() をトリガーします。

    JavaScript 関数の作成
前のステップでは、JavaScript 関数 saveSearch() をトリガーする onclick イベントを設定しました。この関数を実装してみましょう この関数の機能は、現在の検索条件を PHP セッションに保存することです。

<script>
function saveSearch() {
    var keyword = document.getElementsByName("keyword")[0].value;
    var date = document.getElementsByName("date")[0].value;
    var type = document.getElementsByName("type")[0].value;
    var search = {"keyword": keyword, "date": date, "type": type};
    var searchStr = JSON.stringify(search);
    sessionStorage.setItem("search", searchStr);
}
</script>
この関数では、まずユーザーが入力した検索条件を取得し、JavaScript オブジェクト検索に保存します。次に、JSON.stringify を使用してこのオブジェクトを JSON 文字列に変換し、「search」という名前で PHP セッションに保存します。

    検索条件の読み込み
ユーザーが再度検索するときは、以前に保存した検索条件を PHP セッションから読み込む必要があります。検索結果ページに PHP コードを追加して、これらの条件を読み込むことができます:

<?php
session_start();
if (isset($_SESSION[&#39;search&#39;])) {
    $search = json_decode($_SESSION[&#39;search&#39;], true);
    $keyword = $search[&#39;keyword&#39;];
    $date = $search[&#39;date&#39;];
    $type = $search[&#39;type&#39;];
}
?>
このコードでは、最初に session_start() 関数を呼び出してセッションを開き、次に $_SESSION['search ']は存在しますか?存在する場合は検索条件が保存されているので、保存したJSON文字列をjson_decodeを使ってPHP配列に変換し、そこからキーワード、日付、型を取得します。これらの値は、検索フォームの入力ボックスと選択ボックスを初期化するために使用できます。

    ロードされた検索条件の使用
最後に、ロードされた検索条件を使用して検索操作を実行する必要があります。検索ページの form タグに JavaScript 関数 initSearch() を追加して、検索条件を初期化できます。

<script>
function initSearch() {
    <?php
    if (isset($keyword)) {
        echo "document.getElementsByName(&#39;keyword&#39;)[0].value = &#39;$keyword&#39;;";
    }
    if (isset($date)) {
        echo "document.getElementsByName(&#39;date&#39;)[0].value = &#39;$date&#39;;";
    }
    if (isset($type)) {
        echo "document.getElementsByName(&#39;type&#39;)[0].value = &#39;$type&#39;;";
    }
    ?>
}
</script>
この関数は、ページが読み込まれるときに実行され、検索条件の値は次のようになります。対応する入力ボックスと選択ボックスに割り当てられます。 onload イベントを form タグに追加するだけです:

<form method="get" action="result.php" onload="initSearch()">
このようにして、ユーザーが検索ページにアクセスすると、検索条件が以前に保存されている場合、これらの条件は対応する入力に初期化されます。ボックスと選択ボックスを使用すると、ユーザーはそれらを直接使用して検索操作を行うことができます。

3. 概要

この記事では、PHP セッションを通じて検索条件を保存する方法を紹介し、次回の検索時に保存した条件が直接読み込まれるため、ユーザーは迅速に検索操作を行うことができます。この機能はユーザーの検索エクスペリエンスに非常に役立ち、ユーザー入力の数が減り、ユーザーの満足度が向上します。

以上がボタンをクリックしてクエリ条件を保存する機能を PHP で実装する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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