PHP - Guardar chekbox generados dentro de un while

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 19 puestos en PHP (en relación al último mes)
Gráfica de PHP

Guardar chekbox generados dentro de un while

Publicado por Esteban (1 intervención) el 28/02/2019 22:46:07
Buenas tardes amigos.
Estoy intentando guardar checkbox generados dentro de un while, en la práctica se están guardando pero se guardan con el valor inicial del checkbox que marco y consecutivamente se guardan todos con el mismo valor, lo que necesito es que se guarden tal como los marco bien sea SI/NO, pero lo que consigo es que todos se guarden con el primer valor que seleccione.
Agradezco su ayuda.

Este es el codigo HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<table class="table users table-hover table-bordered"  style="overflow-y:scroll">
    <tr>
    <th>Detalle Requisito</th>
    <th>Si</th>
    <th>No</th>
    <th>Observación</th>
    </tr>
    <?php while($row =pg_fetch_array($resur)){?>
          <tr>
          <td style="width:50"><?php echo $row['doc_descri']?></td>
          <td align="center"><input type="checkbox" name="estado[]" value="S"></td>
          <td align="center"><input type="checkbox" name="estado[]" value="N"></td>
          <td align="center"><input type="text" name="" class="form-control" value="<?php echo $row['doe_observ']?>" readonly=""></td>
          </tr>
    <?php } ?>
  </table>
    <input type="submit" value="Guardar" class="btn btn-success" name="submit">

Este es el código PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$codigo = $_POST['codigo'];
if ($_POST['estado']!= "") {
    if (is_array($_POST['estado'])) {
        while (list($key, $value) = each($_POST['estado'])) {
            $sql = pg_query($conexion, "UPDATE cp_documento_estado set doe_estado='$value',"
                    . " doe_fecreg=now() WHERE cli_codigo='$codigo'");
        }
    }
}
if ($sql) {
    echo"<script type=\"text/javascript\">alert('***GUARDADO CON ÉXITO***');history.back();</script>";
} else {
    echo"<script type=\"text/javascript\">alert('***ERROR AL GUARDAR***');</script>";
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar chekbox generados dentro de un while

Publicado por santi (204 intervenciones) el 28/02/2019 23:18:21
Hola,

estás añadiendo un checkbox con un nombre para recibirlo como un array y creo que tienes un par de errores:

1.- Si quieres que el usuario pueda seleccionar uno u otra opción utiliza campos del tipo "radio":

1
2
3
4
5
6
<label for="estado">
<input type="radio" name="estado" value="s" /> Si
</label>
<label for="estado">
<input type="radio" name="estado" value="n" /> No
</label>

En este caso el usuario podrá seleccionar si o no sin opciones...

2.- Con un checkbox, das la opción de recibir más de una opción y en este caso si es necesario utilizar un "name" del tipo array si quieres recibir todas las opciones que ha seleccionado el user..

No se si me he explicado pero prueba a ver ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar