PHP - Marcar solo un checkbox

 
Vista:

Marcar solo un checkbox

Publicado por Daniel (3 intervenciones) el 23/08/2020 06:04:29
Hola comunidad, les comento.
Estoy programando un login de usuarios en el tengo ciertos permisos que doy con checkbox, pero tengo el problema al poner con acciones o sin acciones ya que me permite que se seleccionen los dos, y necesito que solo se me seleccione uno

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<div class="panel panel-success">
  <table class="table">
      <tr>
        <th>Categoria</th>
        <th align="center" style="text-align: center">Con Acciones</th>
        <th align="center" style="text-align: center">Sin Acciones</th>
      </tr>
 
    <?php
            $sql="SELECT * FROM  categorias";
            $profiles = mysqli_query($con, $sql);
            while($rowpr=mysqli_fetch_array($profiles))
            {
 
    ?>
        <tr>
            <td>
            <?php
                $query = "SELECT * FROM permisos WHERE id_user = '".$user_id."' AND id_categoria = '".$rowpr["id_categoria"]."' ";
                $result = mysqli_query($con, $query);
                if($rowpr1=mysqli_fetch_array($result)){?>
                    <input type="checkbox" name="permisos[]" value="<?php echo $rowpr["id_categoria"];?>" checked/>&nbsp;&nbsp;<?php echo $rowpr["nombre_categoria"];?>
                <?php
                }else{?>
                    <input type="checkbox" name="permisos[]" value="<?php echo $rowpr["id_categoria"];?>"/>&nbsp;&nbsp;<?php echo $rowpr["nombre_categoria"];?>
                <?php
                }
 
            ?>
            </td>
 
            <td align="center">
            <?php
                $query = "SELECT * FROM permisos WHERE id_user = '".$user_id."' AND id_categoria = '".$rowpr["id_categoria"]."' AND id_accion = 'A' ";
                $result = mysqli_query($con, $query);
                if($rowpr1=mysqli_fetch_array($result)){?>
                    <input type="checkbox" name="acciones[]" value="A" checked/>
                <?php
                }else{?>
                    <input type="checkbox" name="acciones[]" value="A"/>
                <?php
                }
 
            ?>
            </td>
 
            <td align="center">
            <?php
                $query = "SELECT * FROM permisos WHERE id_user = '".$user_id."' AND id_categoria = '".$rowpr["id_categoria"]."' AND id_accion = 'N' ";
                $result = mysqli_query($con, $query);
                if($rowpr1=mysqli_fetch_array($result)){?>
                    <input type="checkbox" name="acciones[]" value="N" checked/>
                <?php
                }else{?>
                    <input type="checkbox" name="acciones[]" value="N"/>
                <?php
                }
            ?>
            </td>
        </tr>
      <?php
        }
      ?>
  </table>
</div>

Y al guardar lo hago con un array combinado como lo siguiente

1
2
3
4
foreach (array_combine($_POST['permisos'], $_POST['acciones']) as $course => $section)
{
    $insertarDos=$con->query("INSERT INTO permisos VALUES ('', '".$user_id."', '".$course."', '".$section."')");
}

Alguna idea para poder resolver mi problema, desde ya se les agradece
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Luis
Val: 128
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Marcar solo un checkbox

Publicado por Luis (31 intervenciones) el 24/08/2020 11:29:50
Hola, usa input type=radio, en lugar de checkbox
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

Marcar solo un checkbox

Publicado por Daniel (3 intervenciones) el 24/08/2020 15:00:02
Hols, gracias por responder.
Y como puedo hacer para seleccionar mas de un radio, porque lo intente pero me deja seleccionar solo un radio en toda la tabla es por eso que segui viendo con checkbox.
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
Imágen de perfil de Luis
Val: 128
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Marcar solo un checkbox

Publicado por Luis (31 intervenciones) el 25/08/2020 09:28:50
Puedes poner todos los radio que quieras, siempre que tengan su id y name diferentes
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

Marcar solo un checkbox

Publicado por Daniel (3 intervenciones) el 25/08/2020 09:33:42
Ese es mi problema tendria que buscar otra forma para guardar los datos, ya que en el código actual todos los check tienen el mismo nombre para que despues eso lo recorra el array combine y me guarde los datos en la tabla. Yo encontré algo con java script pero solo me funciona para los dos primeros check, los restantes siguen iguales
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
Imágen de perfil de Luis
Val: 128
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Marcar solo un checkbox

Publicado por Luis (31 intervenciones) el 26/08/2020 14:47:28
Es mala idea que los input de un formulario tengan todos el mismo nombre
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