0

1つのajax関数についてサポートが必要です

これは生のページ設定です。ページには、このフォームのリンクを含むテーブルが含まれます

....リンク-ボタン1-ボタン2リンク-ボタン1-ボタン2リンク-ボタン1-ボタン2..。

ここで、button1は行を非表示にするためのものであり、button2はdb内のそのリンクに+ add+1値を非表示にするためのものです。すべてのリンクにはbutton2と一緒に使用される一意のIDが含まれるため、ターゲットを設定するのは簡単です。したがって、訪問者は行のボタンの1つをクリックすると、行が非表示になり、別の行に移動します。

DBセットアップ:

id --link-.... --nmbOFlikes

私の問題は、Ajaxを知らないことです。ボタンをクリックするたびに更新する必要なしに、dbを更新することが唯一の解決策です。

そのページは静的ではなく、dbからデータを取得する別の関数によってフォーマットされています。これは単純なhtmlページのバージョンなので、誰かが助けてくれるなら...

つまり、これは関数のないjavascriptです

$(document).ready(function(){
    $("button.live").click(function(){
    $(this).parents('tr').hide();
        alert('Link is hidden');
    });
$("button.add").click(function(){
  $(this).parents('tr').hide();
  alert('This link is dead');
  $.post("update_db.php", { id: button_id, increment: true },
   function(data) {
   alert("Link incremented");
 });

}); });

そしてこれはテーブルです

<table width="500" border="0" cellspacing="0" cellpadding="3">
    <tr>
        <td><p>Link 1</p></td>
        <td><button class="live">live</button></td>
        <td><button class="add" id="1">add</button></td>
    </tr>
    <tr>
        <td><p>Link 2</p></td>
        <td><button class="live">live</button></td>
        <td><button class="add" id="2">add</button></td>
    </tr>
</table>
4

2 に答える 2

1

値をデータベースに直接追加するのではなく、最初にデータをスクリプトに投稿します。あなたが何を達成しようとしているのか完全にはわかりませんが、post関数は次のようになります。

$.post("update_database_with_ajax.php", { id: button_id, increment: true },
   function(data) {
     alert("Link incremented");
   });

機能的なjsFiddleの例を次に示します。JqueryPOSTの例

update_data_With_ajax.php

/** This is an example and should not be used 'as is' **/
if ( isset( $_REQUEST['increment'] ) {

    // Connect to MySQL
    $conn = mysql_connect("localhost", "root", "");

    if (!$conn) {
        die('Could not connect: ' . mysql_error());
    }

    // Fetch the values we posted using AJAX
    $id = mysql_real_escape_string( $_REQUEST['id'] );

    //Select your database
    mysql_select_db("my_db", $conn);

    //increment your number of clicks    
    mysql_query("UPDATE table_name SET nmbofclicks = nmbofclicks + 1 WHERE id = {$id}");

 }
于 2012-07-04T14:47:16.417 に答える
0

jQuery.ajaxの簡単な使用法:

$.ajax({
    url: "serversite.php",
    type: "POST",
    data: {
        // Object of data you will send to serversite.php
    },
    success: function() {
        // everything went ok.
    }
});
于 2012-07-04T14:47:21.890 に答える