可编辑的PHP矩阵表-TD ID为

时间:2019-04-09 20:59:41

标签: javascript php html mysql codeigniter

基本上,我有一个PHP矩阵表,其中用户在X和Y轴上表示。目的是使用户能够互相添加评论。每个td单元必须连接到要询问的user_id和被询问的user_id。问题在于,当更新表(删除用户或添加用户)时,每个td都会获得新的ID-而我无法再在正确的td单元格上添加注释。

当用户单击td时-出现一个带有添加注释的表单的模式。我使用javascript将from_user_id和to_user_id值传递到表单隐藏字段中。我还传递了存储在数据库中的td的ID-因为我需要以某种方式标识已添加注释的每个td单元格,然后打印出每个单元格中有多少个注释。

在此示例中,用户B向用户A添加评论。x = td单元格,我需要在其中打印来自特定发送者(用户B)和接收者(用户A)的评论

+-----+-------------+-------------+--------------+
|     |     A       |      B      |      C       |
+-----+-------------+-------------+--------------+
| A   |             |             |              |
|     |             |             |              |
| B   |     x       |             |              |
|     |             |             |              |
| C   |             |             |              |
+-----+-------------+-------------+--------------+

这是表的构建方式:

<table id="tableID1" class="tableC display">
    <thead>
        <tr>
          <th></th>
          <?php
           foreach ($users as $row) {
                echo '<th id="'.$row->user_id.'">'.$row->username.'</th>';
           }
          ?>
       </tr>
    </thead>

<?php
echo "<tbody>";
  $startC = 0;
  $countT = count($users);

  $countComments = count($pageTableComments);

foreach( $users as $data ) {
   echo '<tr>';
   echo '<td id="'.$data->user_id.'">'.$data->username.'</td>';

for($i=0; $i < $countT; $i++) {

    $startC++;

if ( $countComments > 0.5 && $pageTableComments_tbodyTD_idVAR  == $startC) {
    echo "<td id='$pageTableComments_tbodyTD_idVAR' class='selectable'> <a class='label countCommentsLabel'>$countComments</a></td>";
}
else {
    echo "<td id='$startC' class='selectable'></td>";
}

}
}
    echo '</tr>';
    echo '</tbody>';
?>

JS:

var thead_ID = $.makeArray($('td.selectable[id]').map(function() {
  return this.id;
}));

$('#tableID1').on('click', 'td', function(e) {

    var to_id = e.delegateTarget.tHead.rows[0].cells[this.cellIndex];
    var from_id  = this.parentNode.cells[0];
    var tbody_td_id = $(this).attr('id');

    $('modal').modal('show');
    
$.ajax({
     url: window.location.href,
     type: "POST",
     data: { to_id: $(to_id).text(), from_id:$(from_id).text(), tbodyTD_id:thead_ID },

     success: function (data) {
         $('.form_hidden_to_id').html( $(to_id).text() );
         $('.form_hidden_from_id').html( $(from_id).text() );

         document.getElementById('modelFormAddCommentFrom_ID').value = $(from_id).text();
         document.getElementById('modelFormAddCommentTO_ID').value = $(to_id).text();
         document.getElementById('modelFormAddComment_tbody_td_id').value = tbody_td_id;
      },
})

});

0 个答案:

没有答案