Buenos días.
Estoy trabajando en un formulario que trabaja con una base de datos de MySQL, en donde esta la tabla Alumnos que tiene un campo llamado
Pago y que por defecto esta en
NO y necesito que al realizar una consulta a esta tabla se pueda modificar el valor de
NO a
SI para algunos usuarios, el problema es que al enviar los valores sólo se guardará uno y no todos lo que se hayan cambiado.
Dejo el código para explicarme mejor.
El siguiente código se conecta a la base de datos y obtiene todos los registros de la tabla Alumnos.
Código PHP:
Ver original<?php require_once('Connections/Conectar.php');
$query_ConsultaAlumnos = "SELECT * FROM alumnos ORDER BY matricula";
?>
El siguiente código tiene una estructura
Do-While que muestra cada uno de los registros.
Código HTML:
Ver original<form id="form1" name="form1" method="post" action="desbloquea.php"> <?php do { ?>
<td width="100" align="center"> <div class="Estilo12"> Matricula
</div> </td> <td width="100" align="center"> <div class="Estilo12"> Referencia
</div> </td> <td width="400" align="center"> <div class="Estilo12"> Nombre
</div> </td> <td width="150" align="center"> <div class="Estilo12"> Pago realizado
</div> </td> <td width="150" align="center"> <div class="Estilo12"> Debloquear
</div> </td>
<td width="100" align="center"> <input type="image" name="matricula" id="matricula" value="<?php echo $row_ConsultaAlumnos['matricula']; ?>" >
</td> <td width="100" align="center"> <input type="image" name="referencia" id="referencia" value="<?php echo $row_ConsultaAlumnos['referencia']; ?>" >
</td> <td width="400" align="center"> <input type="image" name="nombre" id="nombre" value="<?php echo $row_ConsultaAlumnos['nombre']; ?>" >
</td> <td width="150" align="center"> <input type="image" name="pago_val_actual" id="pago_val_actual" value="<?php echo $row_ConsultaAlumnos['pago']; ?>" >
</td> <td width="150" align="center"> <input type="Radio" name="pago_val_nuevo" value="NO"checked>NO
<input type="Radio" name="pago_val_nuevo" value="SI">SI
<?php } while ($row_ConsultaAlumnos = mysql_fetch_assoc($ConsultaAlumnos)); ?></form>
Noten que en el tipo del input he puesto imágen, esto para que los valores no aparezcan en cuadros de texto, ni en botones.
Estos datos se envian por método
POST al archivo
desbloquea.php y en este lo que hago es recuperar los valores así:
Código PHP:
Ver original<?php
$Matricula = $_POST["matricula"];
$Referencia = $_POST["referencia"];
$Nombre = $_POST["nombre"];
$Pago_act = $_POST["pago_val_actual"];
$Pago_nuev = $_POST["pago_val_nuevo"];
?>
Posteriormente actualizo la base de datos en los registros que tengan como valor en el campo $pago_nuev == "SI"
Código PHP:
Ver originalif ($Pago_nuev == "SI")
{
require_once('Connections/Conectar.php');
$query_ConsultaAlumnos = "SELECT * FROM alumnos WHERE matricula = '$Matricula' AND referencia = '$Referencia' ";
$strqry = 'UPDATE `alumnos` SET `pago` = \''.$Pago_nuev.'\' WHERE matricula = \''.$Matricula.'\' AND referencia = \''.$Referencia.'\' AND nombre = \''.$Nombre.'\' AND pago = \''.$Pago_act.'\';';
}
Lo que deseo es que todos los registros que se marquen con
SI en la columna Desbloquear se envien y cambien el valor que esta en
NO en la base de datos del campo
pago a
SI.
Si se cambia un solo registro si funciona, pero cuando son varios los valores, pues ya no lo hace porque el input type tiene el mismo nombre en todos los casos y pues al recuperarlo lo hará solo para uno.
Existe un método que me permita realizar el proceso que deseo?
Muchas gracias.