在PHP中访问html表数据

时间:2011-11-25 10:50:29

标签: php html

如果我在html表单中有这样的表格,

<form method="POST" action="a.php">
<table name="dataTable">
 <tr>
  <td>row one col one</td>
  <td>row one col two</td>
  <td>row one col three</td>
 </tr>
 <tr>
  <td>row two col one</td>
  <td>row two col one</td>
  <td>row two col one</td>
 </tr>
</table>
</form>

当表单提交到p.php时,如何访问表数据?

$dataList = $_POST['dataTable']; ???????

4 个答案:

答案 0 :(得分:3)

直接的解决方法是为所有单元格添加隐藏字段:

<form method="POST" action="a.php">
<table name="dataTable">
 <tr>
  <td>row one col one<input type="hidden" name="row_one_cell_one" value="row one col one" /></td>
  <td>row one col two<input type="hidden" name="row_one_cell_two" value="row one col two" /></td>
  etc...

它保持视图不变,但您可以使用以下简单代码访问php脚本中的单元格:

$cellData = $_POST['row_one_cell_one'];

答案 1 :(得分:1)

没有任何变通办法和转换,你不能。 您可以做的是使用JavaScript在序列化数组中转换表,然后再提交隐藏输入并将结果设置为隐藏输入。然后你可以读取PHP中的值并反序列化数组,获取所有值。如果你做得对,你甚至可以迭代行和列。

答案 2 :(得分:1)

您可以使用JavaScript来呈现表DOM,
并在提交之前将其设置为隐藏字段,
因此,PHP能够解释是$_POST

的一部分
<form method="post" onSubmit="set_value()">
<table name="dataTable">
...
</table>
<input type="hidden" value="" id="hidden_table" name="hidden_table" />
</form>
<script>
function set_value()
{
     var obj = document.getElementById("hidden_table");
     var tbl = document.getElementsByName("dataTable")[1]
     obj.value = tbl.innerHTML;
}
</script>

但是,使用JavaScript DOM时,它将返回TABLE元素的完整规范
包括THEAD,TBODY ......等

答案 3 :(得分:0)

在Google中使用主题作为关键字的第一个链接显示了这个:http://wonshik.com/snippet/Convert-HTML-Table-into-a-PHP-Array

我相信你可以适应你的问题。