-4

現在、データベースからデータを引き出して、テーブルを動的に構築しています。データを取得した後、自分自身またはユーザーにオプション(ボタン)を表示して、ボタンをクリックすると、テーブルおよびデータベースからこの行を編集/削除できるようにします。

私はjQueryを初めて使用するため、$.ajax()機能に何を使用すべきかわかりません。これは私のphpコードです:

foreach($stmt as $item){

            echo '
            </td>
            <td>'.$item['asin'].'</td>
            <td>'.$item['weight'].'</td>
            <td>'.$item['dimension'].'</td>
            <td>'.$item['category'].'</td>
            <td>';

                    echo '<button type="button" class="btn">Update Me!</button>';

            echo '
            </td>
        </tr>';
    }
    echo '</tbody>
    </table>';

これは私のjQueryコードです:

      $(document).on('click', '.btn', function() {
    $.ajax({
    //code here etc
    success:function(){
    //what to put here?
    }

});
}
4

1 に答える 1

2

これはすべて言い換えられます-ここから答えを得ることができるはずです。少なくとも、何かを試し、より完全な例を投稿するのに十分です。

1)各テーブル行には、JavaScriptが取得できる識別子が必要です。data_elementを使用するとこれが簡単になります

PHPには次のものがあります。

echo '<button type="button" class="btn" data_id="'.$item['asin'].'">Update Me!</button>';

JSには次のものがあります。

$(document).on('click', '.btn', function() {
   var id = $(this).attr('data_id');
   ...

2)その行の更新データを返すPHP関数が必要です

<?php

    if (isset($_GET['id'])) {
         $id = $_GET['id'];
         $item = Get Data From Where Ever
         echo '<td>'.$item['asin'].'</td>
               <td>'.$item['weight'].'</td>
               <td>'.$item['dimension'].'</td>
               <td>'.$item['category'].'</td>
               <td><button type="button" class="btn" data_id="'.$item['asin'].'">Update Me!</button></td>';
    }

 ?>

3)javascript/ajaxを使用してデータを取得します

$(document).on('click', '.btn', function() {
    var id = $(this).attr('data_id');
    var self = $(this);
    $.ajax({
       url: 'MyUrl?id=' . id;
       success:function(data){
           $(self).html(data);
       }
    });
}

それは完璧ではありません、あなたは物事を安全にすること、エラーチェックなどについて心配する必要があるでしょう、しかしそれはあなたにあなたが必要とする足を上げるはずです。

于 2012-11-06T04:04:59.773 に答える