(PHP / JQuery?)选中复选框后获取表行值

时间:2017-10-11 03:31:09

标签: php jquery mysql

这是一个表格,每一行都有一个复选框,当它被选中时,想要得到各自的td值并回显出来。这里我使用if语句,但它似乎不起作用。

我在这里使用php,正在使用jquery一个出路,可以用jquery与php一起工作 代码,那么我可以将那些已检查的表行值发送回服务吗?有什么想法吗?谢谢。

  <form>
  <table>
  <tr>
  <?php

 $specific = []; 
 while($row = mysqli_fetch_array( $result ,MYSQL_ASSOC)) {?>

 <td><input type="checkbox" name="p[]" value="<?php echo $row['id']; ?>">
 </td>

  <td><input type="text"  name="patientid[]" 
  style="border: none" value="<?php echo $row['patientid'] ?>"></td>

  <td>
  <textarea name="msg" style="border: none" class='msg'>
  <?php echo  $row['message'];} ?> </textarea>
  </td>

 <td><input class="phone" type="text" value="<?php echo 
 $row['telMobile'] ?>"></td>

检查是否检查了表格行

  <?php if(!isset($_GET['p'])){

  $specific[] = [
                 "phone" => $row["telMobile"],
                 "message" =>$row["message"],

  ];}
  }  

  $result = json_encode($specific,JSON_UNESCAPED_UNICODE);
  echo $result; 

  echo "</tr>";
  echo "</table>";
  echo "</form>";?>

$ result的结果是仅显示checked表格行的数据。

 [{"phone":"123456","message":"test"},
 {"phone":"789456","message":"testing"}]

1 个答案:

答案 0 :(得分:1)

更改您的HTML代码,如下所示:

<td><input type="text"  name="patientid[<?php echo $row['id']; ?>]" 
  style="border: none" value="<?php echo $row['patientid'] ?>"></td>

  <td>
  <textarea name="msg[<?php echo $row['id']; ?>]" style="border: none" class='msg'>
  <?php echo  $row['message'];} ?> </textarea>
  </td>

 <td><input name="phone[<?php echo $row['id']; ?>]" class="phone" type="text" value="<?php echo 
 $row['telMobile'] ?>"></td>

我在输入控件名称中添加了<?php echo $row['id']; ?>

更改您的PHP代码如下:

foreach($_GET["p"] as $id) {
   $specific[] = [
         "phone" => $_GET["phone"][$id],
         "message" => $_GET["msg"][$id],
       ];
}