0

これは私のhtmlフォームです:

<form name="input" action="html_form_action.asp" method="get">
   <input type="checkbox" id="mycheckbox">Don't show me again<br>
   <input type="submit" id="Submit">
</form> 

私は「mytable」と呼ばれるテーブルを持っています。このテーブルには、name(string)、box(boolean)が含まれています。

次のことを試みました。ユーザーがのチェックボックスをオンにしたときdon't show me againに、テーブルのボックスを更新したいと思います(id = 6の行を想定)。

psテーブルのボックスはFalseに初期化されます。

だから私は次のようなことをしなければなりません:

$("#submit").click(function() {
    if($("#mycheckbox").is(':checked')) {
        //here I have to update the table in the database
    }
});

どうやってやるの?

phpで例を見つけましたが、phpではやりたくありません。

アップデート:

あなたの答えに基づいて、Ruby-on-railsでやりたいと思います。

私はこれを見つけました:

update_sql = "update mytable set box = TRUE where id = 6"
affected_rows = Job.connection.update(update_sql)

助けていただければ幸いです。

4

4 に答える 4

1
$("#submit").click(function() {
    if($("#mycheckbox").is(':checked')) {
        $.ajax({
             url: 'post.php',
             cache: false,
             success: function() {
                  alert("done");
             }
        });
    }
});

$.ajaxデータベース内のテーブルを更新するために使用できます。ファイルを作成post.phpし、そこにテーブルを更新するクエリを設定するだけです。

また、PHPはmysqliを使用して最新バージョンのデータベースに接続します。mysql_関数は非推奨になりました。

于 2013-02-04T09:40:32.833 に答える
1

残念ながら、mySQLと通信するにはphpのようなサーバースクリプトが必要です:(

PHPなどを必要とせずにJQueryからネイティブにmySQLをクエリする

于 2013-02-04T09:41:59.173 に答える
1

サーバーでは任意の言語(JavaScriptも含む)を使用できますが、HTTPリクエスト( XMLHttpRequestを使用してJavaScriptから作成できます)を処理してデータベースとやり取りするには、サーバー側のコードが必要です。

(注:「好きな言語」は、サーバー(または移動先のサーバー)にインストールされているものまたはインストールできるものによって制限されます。)

于 2013-02-04T09:44:50.603 に答える
1

ajaxリクエストを受け入れるコントローラーを作成する必要がありますが、最初にjsをこれに更新します。

# js
$("#submit").click(function() {
  $.ajax({
    url: '/my_tables/' + <id of resource to update>,
    type: 'PUT',
    data: { my_table: { box: $("#mycheckbox").is(':checked') } }
  });
});

と呼ばれるコントローラーを作成しますMyTablesController

# my_tables_controller.rb
class MyTablesController < ActionController::Base
  def update
    @my_table = MyTable.find params[:id]
    @my_table.update_attributes params[:my_table]
    # do something else here like a redirect ...
  end
end

それがその要点です。それを機能させることができない場合は、より基本的なチュートリアルから始める必要があるかもしれません。幸運を!

于 2013-02-04T09:59:53.003 に答える