2011-06-27 15 views
0

PHP、Javascript、およびAJAXについては新しいですが、これは簡単な質問です。私はプラグインに取り組んでいます。このプラグインでは、私はPHPでテーブルを開発しています。ユーザーは特定のウィジェットへのリンクを追加して、ホームページに表示することができます。私は、リストとデータベースから行を削除するJavascriptとAJAXで関数を作成しようとしています。私はTRユニークIDをそれぞれ割り当てるしようとしていますが、私はこれを行う方法がわからないよ...ここに私のコードです:ここではJQueryとPHPを使用してテーブル行を削除する

<table id="links" width="350px" border="1"> 
    <tr> 
     <td></td> 
     <td><b>Display</b></td> 
     <td><b>Link *</b></td> 
     <?php  

     if (isset($_POST['links'])) { 

      $displays = $_POST['displays']; 
      $links = $_POST['links']; 
      $domain = $_POST['domain']; 

      foreach($links as $i => $link) { 
       if (empty($displays[$i])) 
        $displays[$i] = ""; 
       if(empty($links[$i])) 
        unset($links[$i]); 

      } 


      $autodomain = array('displays' => $displays, 'links' => $links, 'domain' => $domain); 

      $options = get_option("autodomain_links") or array(); 
      $options[] = $autodomain; 
      //$dump = array(); 
      update_option("autodomain_links", $options); 

     } 
     $options = get_option("autodomain_links"); 

     if ($options) { 

      foreach($options as $option) if ($tmp++ < 15) { 

       $displays = $option['displays']; 
       $links = $option['links']; 
       $domain = $option['domain']; 
       foreach($links as $i => $link) 
       { 
        echo '<tr>'; 
        echo '<td><a href="#" class="delete"/><img alt="" border="0" src="https://jarkin.its-express-tst.syr.edu/wp-content/uploads/2011/06/delete.png" /></a></td>'; 
        echo '<td>' . $displays[$i] . '</td>'; 
        echo '<td>' . $link . ' ' . $domain . '</td>'; 
        echo '</tr>'; 
       ; 

       } 

      } 

     } 


     ?> 

</table> 

はJavascriptを/ AJAXです:

<script type="text/javascript" > 
$(document).ready(function() 
     { 
      $('table#links td a.delete'').click(function() 
      { 
       if (confirm("Are you sure you want to delete this row?")) 
       { 
        var id = $(this).parent().parent().attr('id'); 
        var data = 'id=' + id ; 
        var parent = $(this).parent().parent(); 

        $.ajax(
        { 
          type: "POST", 
          url: "delete_row.php", 
          data: data, 
          cache: false, 

          success: function() 
          { 
           parent.fadeOut('slow', function() {$(this).remove();}); 
          } 
        });     
       } 
      }); 
     }); 
</script> 

のJavascript/AJAX行を識別するためにテーブルIDとTR idを親として使用していますが、私はPHPを使用しているので、各TRの一意のIDを生成する方法はわかりません。

答えて

2

あなたは$iことによってそれを定義することができます。私は、この各TRが一意の値を受信しなかった試みたとき

 foreach($links as $i => $link) 
     { 
      echo '<tr id="id_'.$i.'">'; //<--here 
      echo '<td><a href="#" class="delete"/><img alt="" border="0" src="https://jarkin.its-express-tst.syr.edu/wp-content/uploads/2011/06/delete.png" /></a></td>'; 
      echo '<td>' . $displays[$i] . '</td>'; 
      echo '<td>' . $link . ' ' . $domain . '</td>'; 
      echo '</tr>'; 
     ; 

     } 

はその後、各行のIDが id_{rowNumber}

+0

で、いくつかの1S + 0 – Jamie

+0

@Jamieがありました、あなたはこのループを何度やってきますか?あなたが一度だけあなたがユニークなIDを持っていなければならない – Neal

+0

私のプラグインはちょっと変わっています - ユーザがドメイン名をタイプすることなくリストにリンクを追加できるようにするウィジェットです。新しい配列を作る。私は各行を削除することができますが、wordpressデータベースから削除しないでください – Jamie

0

mt_rand()のような関数を使用して、各行に固有の文字列を生成できます。または、カウンタを使用して行の一連の数値を生成するだけです。

関連する問題