在html表中输入类型文本名称

时间:2014-02-06 15:00:20

标签: javascript php jquery html mysql

我有这样的代码。

<form action="submit.php" method="post">
<table>
<tr>
<th> Student </th>
<th> Subject </th>
<th> Grade </th>
</tr>
$sql = mysql_query("select * from tblsubjectgrade");
while($row = mysql_fetch_array($sql)){
echo'<tr>';
echo '<td>'.$row['name'].'</td>';
echo '<td>'.$row['subject'].'</td>';
echo '<td><input type="text" name="grade" /></td>';
echo '</tr>';
}
echo '<input type="submit" />';
</form>

我的问题是,如果我有20名学生,我将在每个学生中输入成绩,当我点击提交按钮时,每个学生的所有输入成绩必须保存到名为tblgrade的数据库中。每个输入中每个的名称必须不同。有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:1)

grade应该是一个数组,在您的情况下,它只是一个值。

如果您的表结构有ID,请将其分配给名称,如此

while($row = mysql_fetch_array($sql)){
echo'<tr>';
echo '<td>'.$row['name'].'</td>';
echo '<td>'.$row['subject'].'</td>';
echo '<td><input type="text" name="grade['.$row['id'].']" /></td>';
echo '</tr>';
}

然后在PHP中,您将拥有一个$_POST["grade"]数组,其中包含与实际表相关联的所有值。

您可以$_POST["grade"][row_id]

访问它们

答案 1 :(得分:0)

在数据库上更新/插入它们可以使用它:

<?php 
foreach($_POST["grade"] as $id => $grade) { 
    $query = "SELECT * FROM tblgrade WHERE id = '$id'";
    $result = mysql_query($query);
    if(mysql_num_rows($result) > 0)
    $query = "UPDATE tblgrade SET grade = '$grade' WHERE id = '$id'";
    else
    $query = "INSERT INTO tblgrade SET id='$id', grade = '$grade'";
    mysql_query($query);
}
?>

如果你需要保存他们的姓名&amp;如果id不存在,你必须将它们放在输入字段中。

答案 2 :(得分:0)

这样的事情:

$rowCount = $_POST['hiddenName'];
for($i=1; i<=$rowCount; $i++)
{
  $_POST['name_'.$i]
}

或者您可以这样做:

HTML标记:

<table>
  <tr>
    <td><input type="text" name="name[]" ></td>
    <td><input type="text" name="subject[]" ></td>
    <td><input type="text" name="grade[]"> </td>
  </tr>
</table>

PHP标记:

<?php  
$rowCount =  count($_POST['name']); 
  echo "<table>";
  for($i=1; $i<=$rowCount; $i++)
  {
    echo "<tr>";
    echo "<td>".$_POST['name'][$i -1]."</td>";
    echo "<td>".$_POST['subject'][$i -1]."</td>";
    echo "<td>".$_POST['grade'][$i -1]."</td>";
    echo "</tr>";
  }
  echo "</table>";
?>