从多个文本框更新php中的多个记录(文本框名称取决于记录数)

时间:2015-12-30 09:00:54

标签: php html mysql

我有一张桌子,上面记录了学生的成绩,这些学生是一组人。有些人有5个成员,有些人有4个,3个或2个。可以编辑成绩的页面返回所选组的所有名称,并带有对应于每个成员的文本框。

这是我的代码中返回所述输出的部分:

<table>
while($data= mysql_fetch_array($query))
{
echo '<tr>
<td>'.$data['Student Name'].'</td>
<td><input type="text" name="HELP_ME_HERE" value="" /></td>
</tr>';
}
</table>

让我们说$ query返回3条记录。我需要发生的是,将被回显的3个文本框应该具有不同的名称,例如它应该被命名为HELP_ME_HERE1,HELP_ME_HERE2,HELP_ME_HERE3。我需要这样做,所以我可以轻松地调用每个值,用于在1次点击中更新所有3条记录。提前致谢

2 个答案:

答案 0 :(得分:1)

你可以这样做:

<script type="text/javascript">
var val;
function fun(val)
{
  if(val<50 || val>100)
  {
     alert("You are allowed to enter values 50-100");
     document.getElementById("num").value="";
  }
}    
</script>


     <table>
        <?php 
        $i=1;
        while($data= mysql_fetch_array($query))
        {  ?>
        <tr>
        <td> <?php echo $data['Student Name']; ?></td>
        <td><input type="text" name="HELP_ME_HERE<?php echo $i; ?>" value="" onkeydown="return (event.keyCode>=48 && event.keyCode<=57)|| event.keyCode==8" onchange="fun(this.value)" /></td>
        </tr>
       <?php $i++; }  ?>
      </table>

这里我简单地在html中添加了php代码,并且增加了一个变量,这将使您的名字成为增量形式。

  1. 在此编辑中,您可以看到值的更改,即小于50或大于100,它将提供警告框并删除文本框值。您可以在onkeydown中看到我限制用户只需要按数字键或退格键。
  2. 希望这能解决您的问题。

    谢谢和问候。

答案 1 :(得分:0)

您可以在表单中使用数组

 <table>
    <?php while($data= mysql_fetch_array($query)) {  ?>
        <tr>
            <td> <?php echo $data['Student Name']; ?></td>
            <td><input type="text" name="StudentName[]" value="<?php echo $data['Student Name']; ?>" /></td>
        </tr>
   <?php }  ?>
  </table>

然后,它将字段名称的值作为数组传递。您可以在PHP中解析它,如下所示:

   foreach ($_POST['StudentName'] as $studentInput) {
       echo 'Student name supplied is ' . $studentInput . "\n";
   }

请注意,您甚至可以在html表单中提供索引,假设您要在数据库中使用学生ID。

<?php while($data= mysql_fetch_array($query)) {  ?>
    <tr>
        <td><input type="text" name="StudentName[<?php echo $data['Student Id']; ?>]" value="<?php echo $data['Student Name']; ?>" /></td>
    </tr>
   

然后您的PHP代码将更改为:

   foreach ($_POST['StudentName'] as $studentId => $studentInput) {
       echo 'Student name for id ' . $studentId . 'is ' . $studentInput . "\n";
   }