从动态表单中检索数据

时间:2012-05-13 20:13:46

标签: php forms dynamicform

我有一个根据用户输入动态生成的表单。

最初,用户会看到3个字段可供选择(datefrom,dateto和pitchtype),他们选择他们的选项,单击“提交”,脚本会生成一个表格,其中包含范围内每个日期的输入,供他们编辑。

生成表单的示例如下:

<table id="avtable">

    <thead>
        <tr>
            <th>Date</th>
            <th>Current bookings</th>
            <th>Max bookings</th>
        </tr>
    </thead>

    <tbody>

        <form action="index.php?page=availability&amp;task=edit&amp;action=submit" method="post"></form>

            <input type="hidden" name="pitchtype" value="1" />

            <tr>
                <td>2012-05-13</td>
                <td>0</td>
                <td><input type="text" value="10" class="spinner" maxlength="3" name="max"></td>
            </tr>

            <tr>
                <td>2012-05-14</td>
                <td>0</td>
                <td><input type="text" value="10" class="spinner" maxlength="3" name="max"></td>
            </tr>

            <input type="submit" value="Save" name="Submit" />

        </form>

    </tbody>

</table>

在收到的PHP文件中,我需要能够处理每个日期的数据,并且无从何处开始!通常,如果它是静态形式,我会使用像

这样的东西
$max = $_REQUEST['max'];

获取已编辑的字段。

显然我需要做的是将每个已编辑的字段与其日期配对,然后我就像往常一样处理数据。我认为我需要某种形式的数据数组的php循环,但我不太清楚从哪里开始......任何想法?

编辑:

我认为我需要将我输出的表格编辑成这样的东西,所以每个输入的名称与日期列相同,所以我需要知道的是如何在接收php文件中获取所有日期:

<table id="avtable">

    <thead>
        <tr>
            <th>Date</th>
            <th>Current bookings</th>
            <th>Max bookings</th>
        </tr>
    </thead>

    <tbody>

        <form action="index.php?page=availability&amp;task=edit&amp;action=submit" method="post"></form>

            <input type="hidden" name="pitchtype" value="1" />

            <tr>
                <td>2012-05-13</td>
                <td>0</td>
                <td><input type="text" value="10" class="spinner" maxlength="3" name="2012-05-13"></td>
            </tr>

            <tr>
                <td>2012-05-14</td>
                <td>0</td>
                <td><input type="text" value="10" class="spinner" maxlength="3" name="2012-05-14"></td>
            </tr>

            <input type="submit" value="Save" name="Submit" />

        </form>

    </tbody>

</table>

非常感谢!

凯文

1 个答案:

答案 0 :(得分:0)

为了首先传递信息,您需要为文本输入提供不同的名称,如:

<table id="avtable">

    <thead>
        <tr>
            <th>Date</th>
            <th>Current bookings</th>
            <th>Max bookings</th>
        </tr>
    </thead>

    <tbody>

        <form action="index.php?page=availability&amp;task=edit&amp;action=submit" method="post"></form>

            <tr>
                <td>2012-05-13</td>
                <td>0</td>
                <td><input type="text" value="10" class="spinner" maxlength="3" name="SpinMax"></td>
            </tr>

            <tr>
                <td>2012-05-14</td>
                <td>0</td>
                <td><input type="text" value="10" class="spinner" maxlength="3" name="SpinMax2"></td>
            </tr>

            <input type="submit" value="Save" name="Submit" />

        </form>

    </tbody>

</table>

从那里,您的PHP脚本应该是这样的:

$SpinMax = $_POST["SpinMax"];
$SpinMax2 = $_POST["SpinMax2"];

通过使用$ _POST,您可以根据您在文本区域中提供的“名称”来分配PHP变量。