0

次のようなphpフォームの概念に問題があります。

サイトには、サイト上の画像の外観を洗練することを目的としたキーワード検索入力フォームがあります。アイデアは、キーワードがそのgetようにURLを構築するメソッドを使用して渡されるということです:

  • page.php?keyword = tree

データベースクエリは、URLにコンマ区切りのキーワードとして表示される複数のキーワードを処理できるように構築されています。

  • page.php?keyword = tree、green、oak

ユーザーがこのpage.php?keyword = treeを出力するキーワードを入力できる送信フォームを作成するにはどうすればよいですか。入力フィールドに別のキーワードを入力すると、リンクが次のように変更されます。

  • page.php?keyword = tree、green

最後に別のキーワードを追加しますか?

私の当初のアイデアは、現在のURLを取得し、変数がすでに存在する場合にカスタムURLを提供することでしたが、フォーム自体がアクションをどのように処理するかがわかりません。

どんな助けでもありがたいです

4

2 に答える 2

0

あなたがやろうとしていることは、最小限のPHP<input>と組み合わせた隠されたJavaScriptで達成することができます。

フォームは次のようになります。

<form id="myForm" action="">
    <input type="hidden" id="keyword" name="keyword" value="<?= $_GET['keyword'] ?>" />
    <input type="text" id="newKeyword" name="newKeyword" /><br />
    <input id="submit" type="submit" />
</form>

次に、jQueryを使用して、送信ボタンの動作を変更できます。

<script language="javascript" type="text/javascript">
    $("#submit).on('click', function() {
        var keyword = $("#keyword").val();
        var newKeyword = $("#newKeyword).val();

        if (keyword != "") {
            keyword = keyword + ",";
        }
        keyword = keyword + newKeyword;

        window.location.href = "?keyword=" + keyword;
    });
</script>

データベースにアクセスするときは、関数を使用しないでくださいmysql_*。それらは非推奨になっています。代わりに、PDO(PHP 5.1以降でサポート)またはmysqli(PHP 4.1以降でサポート)を使用してください。どちらを使用するかわからない場合は、このSOの記事をお読みください

于 2012-08-03T20:19:29.253 に答える
0

すべて属性=の複数のinputタグを使用することで、サーバー側でこれを解決することもできます。namekeywords[]

PHPはそれから素晴らしい配列を作成します:$_REQUEST['keywords']。それを取り、例えばimplode

私が完全にはっきりしていない場合に備えて尋ねてください...

于 2012-08-03T20:24:45.580 に答える