有人能指出我正确的方向吗?我真的很困惑(我是初学者:D)。 例如:
<form action="<?php $_server['php_self'] ?>" method=post>
<table width="50%" style="border: 1px solid #999;" cellspacing="0" cellpadding="0">
<tr>
<td width="35%">
<input type="button" value="Add Subitem">
<input type="button" value="Add Category">
</td>
<td width="65%">
<input type="hidden" name="row[]" value="1">
<input type="text" name="categ[]" value="Sample Category" >
</td>
</tr>
<tr>
<td>
<input type="button" value="Add Subitem">
<input type="button" value="Add Category">
</td>
<td>
<input type="hidden" name="row[]" value="2">
<input type="text" name="sub[]" value="Sample Subitem" >
</td>
</tr>
<tr>
<td>
<input type="button" value="Add Subitem">
<input type="button" value="Add Category">
</td>
<td>
<input type="hidden" name="row[]" value="3">
<input type="text" name="categ[]" value="Sample Category" >
</td>
</tr>
</table>
<input type="submit" name="insBut" value="Save">
</form>
我怎么能在行[]中迭代?并查找该行是否有类或子?我试过这个
$row = $_post['row'];
$categ = $_post['categ'];
$sub = $_post['sub'];
for ($i=0;$i<count($row);$ii){
if (isset($categ[$i])){
$insQuery = pg_query("insert into rptdata_categ (blah blah) values (blah blah)");
}elseif (isset($sub[$i])) {
$insQuery = pg_query("insert into rptdata_sub (blah blah) values (blah blah)");
}
}
但价值观错误,我试图用
回应它echo $row[$i]."=".$categ[$i];
它给出了
1=Sample Category
2=Sample Category
3=
我知道如果你考虑它就恰到好处,但我怎样才能做到这一点
1=Sample Category
2=
3=Sample Category
哦,在我忘记之前,用户可以使用按钮添加类别或子项目自行添加类别或子项目。
答案 0 :(得分:0)
由于您已经拥有所需的行号(在row[]
中),为什么不将它放在文本输入的name
中,然后完全删除隐藏的行号?
<td>
<input type="text" name="categ[1]" value="Sample Category" />
</td>
...
<td>
<input type="text" name="sub[8]" value="Sample Subitem" />
</td>
等等。然后,您已选择的数组索引已填充。
答案 1 :(得分:0)
任何空数组字段都不会计入最终数组。您应该只将行号添加到这些字段,例如sub[1]
,sub[2]
..您知道首先有多少字段,因此您可以添加新字段(JS对吗?)右边的行ID,比如设置基本字段的数量(3)作为起始点,每次用户点击你推进var的按钮