PHP - Recoger datos multiples de mysql a checkbox??

 
Vista:
sin imagen de perfil

Recoger datos multiples de mysql a checkbox??

Publicado por jesus (11 intervenciones) el 21/03/2020 15:11:33
Buenas tardes,

Tengo un problema para que se me marquen los checkboxes de un formulario.

El caso es que tengo un datatable con un listado, en el que entre otras tengo una columna "fallos".
Este es una cadena de texto introducida al marcar multiples checkboxes mediante implode.

Al editar alguna fila de la datatable quiero recoger los datos de MySQL y que se marquen por defecto.
He conseguido que se marque los checkboxes correspondientes, pero siempre me coge la primera fila de mi base de datos y no sé como indicarle que coja la correspondiente a la fila marcada.
Tengo creado una Key autoincrementable llamada "id_registro" con la que supongo que debo relacionarla, pero no se como.

Utilizo el código siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
$checked_arr = array();
$conexion = new mysqli('localhost', 'root', '', 'check_in');
// Fetch checked values
$fetchFallos = mysqli_query($conexion,"SELECT * FROM t_registro");
if(mysqli_num_rows($fetchFallos) > 0){
$result = mysqli_fetch_assoc($fetchFallos);
$checked_arr = explode(",",$result['fallos']);
}
 
// Create checkboxes
$fallos_arr = array("Cristales","Suelo","Cama");
foreach($fallos_arr as $fallos){
$checked = "";
if(in_array($fallos,$checked_arr)){
    $checked = "checked";
    }
echo '<input type="checkbox" name="calificaciones[]" value="'.$fallos.'" '.$checked.' > '.$fallos.' <br/>';
}
?>



Gracias y un saludo.
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
sin imagen de perfil

Recoger datos multiples de mysql a checkbox??

Publicado por jesus (11 intervenciones) el 22/03/2020 21:37:35
Buenas tardes,

He conseguido que me coja algún otro valor, pero no automáticamente.

Pongo el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
$checked_arr = array();
$conexion = new mysqli('localhost', 'root', '', 'check_in');
 
$idregistro2 = '8';
$fetchFallos = mysqli_query($conexion,"SELECT * FROM t_registro WHERE id_registro = $idregistro2" );
if(mysqli_num_rows($fetchFallos) > 0){
$result = mysqli_fetch_assoc($fetchFallos);
$checked_arr = explode(",",$result['fallos']);
}
 
// Create checkboxes
$fallos_arr = array("Cristales","Suelo","Cama");
foreach($fallos_arr as $fallos){
$checked = "";
if(in_array($fallos,$checked_arr)){
    $checked = "checked";
    }
echo '<input type="checkbox" name="calificaciones[]" value="'.$fallos.'" '.$checked.' > '.$fallos.' <br/>';
}
?>


En las líneas
1
2
$idregistro2 = '8';
$fetchFallos = mysqli_query($conexion,"SELECT * FROM t_registro WHERE id_registro = $idregistro2" );

Si cambio el "8" por otro número me coge la fila correspondiente a dicho id_registro que es la primera columna tipo key que tengo.

¿Cómo lo hago automáticamente?

Un saludo.
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