Javascript 在html表格中输入类型文本名称
我有这样的代码Javascript 在html表格中输入类型文本名称,javascript,php,jquery,html,mysql,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 = m
<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>
学生
主题
等级
$sql=mysql_查询(“从tblsubjectgrade中选择*);
while($row=mysql\u fetch\u数组($sql)){
回声';
回显'.$row['name'].';
回显“.$row['subject']”;
回声';
回声';
}
回声';
我的问题是,如果我有20名学生,我将在每个学生中输入一个分数,当我单击提交按钮时,每个学生中输入的所有分数都必须保存到名为tblgrade的数据库中。每个输入的名称必须不同。有人能帮我吗?
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>';
}
while($row=mysql\u fetch\u数组($sql)){
回声';
回显'.$row['name'].';
回显“.$row['subject']”;
回声';
回声';
}
然后在PHP中,您将有一个$\u POST[“grade”]
数组,其中包含与实际表关联的所有值
您可以通过
$\u POST[“grade”][row\u id]
访问它们要在数据库中更新/插入它们,您可以使用以下方法:
<?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);
}
?>
类似这样的东西:
$rowCount = $_POST['hiddenName'];
for($i=1; i<=$rowCount; $i++)
{
$_POST['name_'.$i]
}
$rowCount=$\u POST['hiddenName'];
对于($i=1;i)
,或
-@davey对提供的代码有正确的语法实际上
,否则你不知道哪个年级属于哪个学生。你能给出tblgrade的结构吗?我的tblgrade有id、姓名、科目和年级。
<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
$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>";
?>