关于php的初学者问题。提交表单后如何取回多个值

时间:2009-09-06 01:33:52

标签: php

我是php的新手。

我希望有一个这样的表格:

 Name   <TextField>   Corresponding pic:  <dropdown> hiddenID (not shown to user)
 Name   <TextField>   Corresponding pic:  <dropdown> hiddenID (not shown to user)
 Name   <TextField>   Corresponding pic:  <dropdown> hiddenID (not shown to user)
 Name   <TextField>   Corresponding pic:  <dropdown> hiddenID (not shown to user)
 Name   <TextField>   Corresponding pic:  <dropdown> hiddenID (not shown to user)

 Update Values (button)

单击按钮(提交表单)后,我将如何获取所有这些值。我想为每个值更新数据库表。查询就像

update user_tables name=<newnameSubmitted>, pic=<valueFromDropDown> 
where id=<hiddenIdGottenBack>

在这个例子中,我有5个值......我将如何使用相应的值运行上述更新语句5次。

请清除我的困惑或指导我一个可以帮助我的教程。

4 个答案:

答案 0 :(得分:2)

<?
  $cmd=$_POST["cmd"];

  if(isset($cmd)) {
    $name=array_map('mysql_escape_string', $_POST["name"]);
    $sel=array_map('mysql_escape_string', $_POST["sel"]);
    for($i=0;$i<count($name);$i++) {
          $sql="update TABLENAME set col1='{$name[$i]}' where col2='{$sel[$i]}'";
    }

?>

<form method="post" action="sample.php">
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
<input type="submit" name="cmd" value="Submit"/>
</form>

答案 1 :(得分:0)

在php中,所有提交的值都存储在$ _POST数组,$ _POST ['name']等中(假设您使用的是post而不是get),因此您必须遍历该数组中的所有值。

答案 2 :(得分:0)

我喜欢保持简单,所以我只是给我的表单字段提供可预测的名称,如下所示:

<input name="name1" ...> <input name="pic1" ...>
<input name="name2" ...> <input name="pic2" ...>

然后在php中,我循环处理它们:

for($i = 0; $i < 5; ++$i) {
   if(isset($_REQUEST["name$i"]) && isset($_REQUEST["pic$i"])) {
      # update database with those values
   }
}

答案 3 :(得分:0)

  1. 学习使用数组。
  2. 学习读取数组格式

    echo'

    '; print_r($_POST); echo '
    ';

  3. 了解$ _POST是一个数组。

  4. extract - 在数组上使用时是一个函数,它将带有数组键的变量作为变量名,将赋值给该键的值作为变量的值。

    提取物($ _ POST);

  5. 出于安全考虑,您应该使用mysql_prepare或$ mysqli-&gt; prepare。