Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: KateLibby en 13 Abril 2010, 23:17 pm



Título: Actualizar checkbox base de datos (PHP + MySQL)
Publicado por: KateLibby en 13 Abril 2010, 23:17 pm
Hola. Tengo una lista de usuarios que viene de una base de datos, en la que salen los nombres de todos los inscritos y, al lado, un checkbox para marcar si han pagado o no una cuota.

Mi problema es que no sé cómo hacer que cuando yo cambie el valor del checkbox, este se actualice en la base de datos y me recargue la página para mostrar de nuevo la lista, pero con los valores actualizados. Mi idea es que tengo que pasarle al input del checkbox el id al que hacemos referencia, pero no sé cómo hacerlo.

Os dejo parte del código que tengo, pero ya veréis que aún me falta la parte del UPDATE.

Archivo cuota.php:
Código:
<?include ('head.php');?> 
<? include ('../conexion.php'); ?>
<body>
<?include ('menu.php');?>
<div id="container">
<h1>Cuota </h1>
<form action="cuota.php" method="POST">
<table border="0" cellpadding="0" cellspacing="0">
<tr style="font-weight: bold; border-bottom: solid 1px black;">
<td width="100">Nombre</td>
<td width="100">Apellido</td>
<td width="200">E-mail</td>
<td width="100">Cuota</td>
</tr>
<?
$listado = mysql_query("SELECT * FROM users ORDER BY u_nombre ASC, u_apellido1 ASC, u_apellido2 ASC");
$num = mysql_num_rows ($listado);
while($row = mysql_fetch_array($listado)) {
?>
<tr>
<td><? echo $row['u_nombre']?></td>
<td><? echo $row['u_apellido1']?></td>
<td><? echo $row['u_email']?></td>
<?
switch ($row['u_cuota']) {
case 0:
echo "<td align=\"right\"><input type=\"checkbox\" name=\"cuota\" value=\"0\"></td>";
break;
case 1:
echo "<td align=\"right\"><input type=\"checkbox\" name=\"cuota\" value=\"1\" checked></td>";
break;
}
?>
</tr>
<?}?>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="5"><strong>Hay un total de <?echo $num;?> registrados</strong></td>
</tr>
</table>
<input style="float:right; margin: 20px 0px 0px 0px;" type="Submit" name="envcuota" value="Aceptar" id="button">
</form>
</div>
</body>

Gracias.


Título: Re: Actualizar checkbox base de datos (PHP + MySQL)
Publicado por: KateLibby en 15 Abril 2010, 23:13 pm
Ya he encontrado la solución. La pongo por si a alguien le sirve.

Se trataría de quitar el formulario, porque ya no servirá, y poner esto en los inputs que hay dentro del IF

Código:
<input type="checkbox" name="cuota" value="0" onclick="location.href='cuota1.php?id=<?echo $id?>&valor=1'">

donde el archivo cuota1.php hará el UPDATE en la base de datos.