如何从数据库中的n个表单中保存n个值

时间:2014-04-10 18:32:06

标签: php mysql

我需要开发一个脚本,它将执行以下步骤:

1.Users进入名为update.php的页面

会有这样的输入:

 How many values do you want to add ?: <input type="text" value="5">

2.当用户点击提交并选择时,例如要添加的5个值,它将被重定向到如下页面:

update.php?values=5

从那部分我不知道如何做到这一点:

3.页面应输出5个字段,或20或3(取决于用户选择的数量) 和提交按钮。

示例:

 <form action"x.php> 
<input type="text" name="value1" >
 <input type="text" name="value2" >
 <input type="text" name="value3" >
 <input type="text" name="value4" >
 <input type="text" name="value5" >
<input type="submit" name="submit" value="Add">
</form>

4.当所有表单都完成并提交后,我需要在MYSQL数据库中插入每个值...

Table: values
id   value
1       x
2       y
3       z
4       a
5       b

我用issets做了第1步和第2步......但是我不能做3和4.有什么建议吗?

2 个答案:

答案 0 :(得分:0)

这是update.php的第3号。

if (isset($_GET['values'])){
    $numvalues = $_GET['values'];
}
for ($i=0;$i<$numvalues;$i++){
    echo '<input type="text" name="value'.$i.'" >';
}

对于4号,SO上有关于如何将数据插入MySQL数据库的半无限数量的答案。我可以告诉你,你必须改变这条线,因为它被打破了:

<form action"x.php> 

如果表单发布到自身进行处理,它将更改为类似的内容:

<form method="post"> 

或者,如果它发布到不同的处理页面:

<form action="x.php" method="post"> 

答案 1 :(得分:0)

这应该让你朝着正确的方向前进,并假设你实际上并不需要明确地命名字段value1value2等。

<强> update.php

<?php
if(isset($_GET["values"]))
{
?>
<form action="x.php"> 
<?php
    for($i = 0; $i < $_GET["values"]; $i++)
    {
        <input type="text" name="values[]" >
    }
?>
<input type="submit" name="submit" value="Add">
</form>
<?php
}
?>

<强> x.php

<?php
if(isset($_GET["values"]))
{
    foreach($_GET["values"] as $value)
    {
        $value = someSanitizationMethod($value);

        // YOUR CODE TO INSERT $value INTO THE DATABASE
    }
}
?>