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

时间:2013-11-17 20:29:22

标签: php

我是PHP的新手。

我正在努力开发一个跟踪团队日常工作的网站。问题是我一度陷入了代码。

当我点击Add Event时,弹出的字段会保持输入字段中的值,并重置下拉值。请帮忙解决这个问题。

    <?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表转到各自的列。

好像,我很困难。我尽快完成了这个。请帮忙。 - 谢谢。

1 个答案:

答案 0 :(得分:0)

我想我看到一个小错误;你有上面的事件[$ i] [0]和下面的事件[$ i] [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)。 虽然表单字段名称是这样的数组元素似乎有点奇怪,但它有用吗?