1

ソリューションに関するユーザーのフィードバックを得るために、php でシステムを作成しています。MySQL を使用してソリューションを取得し、フィードバックを保存しています。フィードバックは整数です。フィードバックには、はいといいえの 2 つの列があります。ユーザーがテキスト リンク/ラジオ ボタンまたはチェックボックスをクリックしたときに、それらの値を増やしたいと考えています。いいね- ...................解決策........... これは役に立ちましたか? はい・いいえ

ユーザーが [はい] をクリックすると、[はい] 列の値が 1 増加し、[いいえ] をクリックすると、[いいえ] 列の値が 1 増加します。主な問題は、このページに多数の解決策とフィードバック オプションが含まれていることです。

4

2 に答える 2

1

ページ上のフォーム コントロールのクリックは、クライアント側のアクションです。PHP での変数の更新は、サーバー側のアクションです。幸いなことに、AJAX を使用すると、クライアントからサーバー リソースにアクセスできます。

次のコードは、jQuery JavaScript ライブラリを使用して AJAX 要求を実行します。AJAX リクエストを実行するために jQuery は必要ありませんが、AJAX リクエストをネイティブにコーディングする必要があります。それは難しいことではありませんが、それほど簡単なことでもありません。

JavaScript:

$.ajax({
    url: '/path/to/file.php',
    data: 'url=encoded&query=string', // Can also be an object
    success: function( output ) {
        // This function gets called once the AJAX Request returns.  It is sent 
        // a string parameter containing all output of the Server-side script
    }
});

では、file.php必要なアクションを実行するだけです。AJAX リクエストは GET または POST 経由で送信でき、渡された変数はそれぞれ$_GETおよび$_POSTスーパーグローバルで使用できます。

渡されるoutputパラメーターは文字列で、サーバー側スクリプトから生成されるすべての出力 (つまりecho/ ) です。printその文字列は、オブジェクトのJSON 表現にすることもできます。その場合、文字列を解析して、JavaScript でオブジェクトとして使用できるようにする必要があります。これは、サーバー側スクリプトが単純な HTML/XHTML ではなく大量のデータを返す場合に役立ちます。

詳細については、 AJAX に関する jQuery のドキュメント、またはネイティブ ajax リクエストに関する Google を参照してください。

別の方法として、コントロールが押されたときにフォームを送信する通常のフォーム要素としてコントロールを使用することもできます (たとえば、それぞれが名前付きの送信ボタン/画像入力です)。フォーム ハンドラーは、 に存在する値に応じて、どちらが押されたかを判断し$_POSTます。このメソッドは、ユーザー入力をサーバー上で実行されるフォーム ハンドラーに送信し、処理が完了するとユーザーをページにリダイレクトします。

于 2012-05-25T16:01:28.853 に答える
0

PHPはサーバー側のみであるため、ユーザーが[はい]をクリックすると、サーバーを更新する新しいページをロードするリクエストやAjaxリクエストなどを送信する必要があります。ページの読み込み後にページで行われることは、PHPでは実行できません。

$ _POST / $ _ GETリクエストを各リンク/ラジオボタンに添付します。このボタンは、テーブルを更新するために、ページの更新などでMySQLに送信されます。

于 2012-05-25T15:58:28.073 に答える