添加多个字段而不重置添加字段时的下拉菜单的PHP代码


PHP Code to add multiple fields without resetting the Drop down menu while adding fields

我是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)。虽然表单字段名称是这样的数组元素似乎有点奇怪,但它能起作用吗?