这是我的页面
notes.php
这是我的代码,它的作用是选择学生并打印他们的笔记。
Select notes to add
<select id="combito">
<option>Notas</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
Select the module:
<select id="combito2">
<option>Materia</option>
<option value="lenguaje">History</option>
<option value="matematicas">Math</option>
</select>
<div id="div_1" class="contenido">
<table>
<thead>
<tr>
<td>RUT</td>
<td>Nombre</td>
<td>Apellido</td>
<td>Notas</td>
</tr>
</thead>
<tbody>
<?php
$connect = mysqli_connect("localhost","root", "","liceo");
if (!$connect) {
die(mysqli_error());
}
$results = mysqli_query($connect,"SELECT rut, nombre, apellido FROM alumnos");
while($row = mysqli_fetch_object($results)) {
$rut = $row->rut;
$boo = 0; /* Iniciamos la Variable Auxiliar
que indicará cuantas notas se imprimió por cada Alumno */
$results2 = mysqli_query($connect,"SELECT nota FROM notas WHERE rut_alumno = '$rut' AND id_materia=1 LIMIT 1");
?>
<tr>
<td><?=$row->rut?></td>
<td><?=$row->nombre?></td>
<td><?=$row->apellido?></td>
<td>
<?php
while($nota = mysqli_fetch_object($results2)):
?>
<input type="text" name="pin" maxlength="2" size="2" value="<?=$nota->nota?>">
<?php
$boo +=1;/* Incrementamos después de Imprimir la nota del Alumno*/
endwhile;
/* Si la variable es menor a 2 , es decir no se imprimieron las 2 notas respectivas*/
if($boo<1){
/* Imprimimos inputs de value 0 hasta que sea < 2 , dado que si el
el valor de $boo es 1 o 0 , primero se realizará el echo y luego el incremento
Sí $boo es 0 -> Iteración 0 - Imprime el input - Incrementa $boo -> $boo = 1
Iteración 1 - Imprime el input - Incrementa $boo -> $boo = 2
Termina el for dado que 2 no es menor que 2
Sí $boo es 1 -> Iteración 0 - Imprime el input - Incrementa $boo -> $boo = 2
Termina el For dado que 2 no es menor que 2
*/
for (; $boo < 1; $boo++) {
echo '<input type="text" name="pin" maxlength="2" size="2" value="10">';
}
}
?>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<input type="button" value="Save notes">
</div>
问题是我不知道如何保存生成的所有“输入”。例如,如果我有11个名字,将生成11个输入,如果有12个学生,则将生成12个输入。然后我想知道如何在我的表格中保存这些笔记的价值。
这是我的表
notas
我很感激能否指导我
答案 0 :(得分:2)
您需要在输入名称中使用[]
。然后PHP将创建一个包含所有输入的数组。所以它应该是:
<input type="text" name="pin[<?=$rut?>]" maxlength="2" size="2" value="<?=$nota->nota?>">
然后处理表单的脚本可以遍历$_POST['pin']
中的所有值:
foreach($_POST['pin'] as $rut => $pin) {
...
}
答案 1 :(得分:-1)
每个输入都需要一个唯一的名称,例如pin_1
,pin_2
等。
提交表单时,您可以单步执行每个输入并插入数据。
赞foreach ( $_REQUEST as $key => $value ) {
这有帮助吗?