5

mysqlからテーブルを生成するWebページがあります。各行の先頭にボタンがあります。ユーザーがボタンを押すことにした場合、その個々の行の内容がMySQLの新しいテーブルに書き込まれるようにしたいと思います。

現在、ボタンをmysqlに接続して行をテーブルに挿入する別のphpスクリプトへのhrefにすることを考えています。ただし、これで現在のページがリダイレクトされると思います。

現在のページをリダイレクトせずに、ボタンでスクリプトを実行したいのですが。そうすれば、ユーザーはページを毎回リロードしなくてもテーブルの分析を続けることができます。

これは私の現在のテーブルがどのように見えるかです。これは単なるスニペットであり、テーブルは非常に大きくなる可能性があります(数百行) ここに画像の説明を入力してください

4

4 に答える 4

9

このクライアント側を行うために、これを行うためにオフハンドで考えることができる方法がいくつかあります。

Javascript

Javascript ライブラリ (人気の高い JQuery ライブラリなど) を含めたり、自分でコーディングしたりできますが、これをボタンのクリック ハンドラから発行される XMLHTTPRequest として実装することもできます。ライブラリを使用するのが最も簡単な方法です。

iframe

非表示の iframe を作成します。

<iframe style="display:none;" name="target"></iframe>

次に、タグのターゲットを iframe に設定します。

<a href="your_script.php" target="target">...</a>

誰かがリンクをクリックすると、非表示の iframe にページが読み込まれます。ユーザーには変更が表示されませんが、PHP スクリプトは処理されます。

2 つのオプションのうち、何らかの理由でそれができない場合を除き、Javascript ライブラリをお勧めします。

于 2012-08-14T18:24:06.000 に答える
0

jQueryを使用すると簡単に実行できます。

<script>
$(function(){
    $('#your_button_dom_id').click(function(){
        $.ajax({
            url: 'your_php_script_url',
            type: 'POST', // GET or POST
            data: 'param1=value1&param2=value2', // will be in $_POST on PHP side
            success: function(data) { // data is the response from your php script
                // This function is called if your AJAX query was successful
                alert("Response is: " + data);
            },
            error: function() {
                // This callback is called if your AJAX query has failed
                alert("Error!");
            }
        });
    });
});
</script>

jQueryのAJAXについて詳しくは、http: //api.jquery.com/jQuery.ajax/をご覧ください。

于 2012-08-14T20:33:45.330 に答える
0

非表示タイプの送信ボタンの後に別の入力タグを使用できます。

<input class="ButtonSubmit" type="Submit" name="Submit" id="Submit" value="Submit"/>

    </p>
        <input type="hidden" name="submitted" id="submitted" value="true" />

その後、コードの先頭でこれを使用します

if (isset($_POST['submitted'])) {
// your code is here
}

それは私のための仕事です。ワードプレスのテンプレートでも使える

于 2016-06-15T10:32:21.613 に答える
0

ボタンをクリックすると、ページをリロードせずに mysql テーブルにレコードを挿入する必要があります。上記のタスクを達成するには、xmlhttprequest オブジェクトを使用してバックグラウンドでサーバーに http 要求を送信する AJAX を使用する必要があります。これにより、Web ページをリロードせずに Web ページを更新します。そのため、xmlhttprequest オブジェクトを使用してサーバーに http 要求を送信する関数を JavaScript で作成する必要があります。また、ajax を使用して送信された http 要求を処理するためのサーバー側ハンドラーを定義する必要があります。php を使用した ajax の実装の詳細については、以下のリンク http://www.w3schools.com/php/php_ajax_php.aspに記載されている例を参照してください。

于 2012-08-14T18:31:52.307 に答える