我是PHP新手。
我正在努力开发一个网站,跟踪团队的日常工作。问题是我在某一点上被代码卡住了。
当我单击添加事件时,字段会弹出,保持键入字段中的值不变,并重置下拉值。请帮助解决此问题。
<?php
echo('
<form action="" method="POST">');
$count = isset($_POST['count']) ? $_POST['count'] : 1;
if($count > 11) $count = 11;
?>
<table>
<input type="hidden" name="count" value="<?php echo $count+1; ?>"/>
<?php for($i = 0; $i < $count; $i++):
$val0 = isset($_POST['event'][$i]['0']) ? $_POST['event'][$i]['0'] : '';
$val1 = isset($_POST['field'][$i]['1']) ? $_POST['field'][$i]['1'] : '';
?>
<td><select name="event[<?php echo $i; ?>][1]" value="<?php echo $val1; ?>"/>
<option>Choose Event</option>
<option> Incident </option>
<option> Change </option>
<option> Complaint </option>
<option> Compliance </option>
<option> Transition </option>
<option> Appreciation </option>
<option> Disaster_Recovery </option></td>
<td><input name="field[<?php echo $i; ?>][1]" value="<?php echo $val1; ?>"/></td>
<?php endfor; ?>
</table>
<input type="submit" value="Add Event" />
这只是一个示例,我需要为上面列出的每个选项添加另一个下拉列表,以及大约20个免费文本字段,供用户输入数据。
完成所有这些之后,在提交时,所有这些字段都应该一次性转到mysql表中的相应列。
看起来,我被卡住了。我必须尽快完成。请帮忙。-非常感谢。
我想我看到了一个小错误;上面有事件[$i][0],下面有事件[$1][1]
$val0 = isset($_POST['event'][$i]['0']) ? $_POST['event'][$i]['0'] : '';
$val1 = isset($_POST['field'][$i]['1']) ? $_POST['field'][$i]['1'] : '';
?>
<td><select name="event[<?php echo $i; ?>][1]" value="<?php echo $val1; ?>"/>
所以我会把这个部分改成:
$val0 = isset($_POST['event'][$i]['0']) ? $_POST['event'][$i]['0'] : '';
$val1 = isset($_POST['field'][$i]['1']) ? $_POST['field'][$i]['1'] : '';
?>
<td><select name="event[<?php echo $i; ?>]['0']" value="<?php echo $val0; ?>"/>
(将最后一行的两个1改为0)。虽然表单字段名称是这样的数组元素似乎有点奇怪,但它能起作用吗?