PHP - checkbox

   
Vista:

checkbox

Publicado por jose (10 intervenciones) el 23/07/2015 00:09:12
Estimados compañeros:

Estoy diseñando un formulario funciona perfecto. Bueno, la verdad que casi perfecto.

Tengo unos multi chechbox con el mismo name que son insertados correctamente en la BD en su tabla.

1
2
3
<input type="checkbox" name="especialidad[]" value="Adopciones" <?php if(in_array("Adopciones",$my_stored_game)){echo "checked";}?> />
 
<input type="checkbox" name="especialidad[]" value="Mesotelioma" <?php if(in_array("Mesotelioma",$my_stored_game)){echo "checked";}?> />

El problema viene cuando los traigo desde la DB a php para que se muestrenlos que estan checkeados y hace la función pero solo me chekea la primera instancia de la tabla. Utilzo el sguiente codigo:

1
2
3
4
5
6
7
8
9
10
$check_exist_qry="select especialidad from abogadosespecialidad where id_abogados = '$idabogado'";
$run_qry=mysql_query($check_exist_qry);
$total_found=mysql_num_rows($run_qry);
if($total_found >0)
{
	$my_value=mysql_fetch_assoc($run_qry);
	$my_stored_game=explode(',',$my_value['especialidad']);
 
 
}

Alguien me podría explicar por que solo me comprueba la primera instancia que cumple la query y no todas las demás instancias de la tabla. Quiero decir, lo que quiero es ver si existe el valor del input checkbox en la DB. Esto lo consigo pero mi function solo lo hace para el primer valor dentro del array y no con los siguientes inputs checkbox.

Gracias!
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

checkbox

Publicado por jose (10 intervenciones) el 23/07/2015 13:12:37
vale, lo he podido solucionar. El problema un error conceptual. En la forma en la que tenía la BD estructurada no me valía ( no por filas, si no por columnas).

El codigo en la consulta correcto es:

1
2
3
4
5
6
7
8
9
$check_exist_qry="select especialidad from abogadosespecialidad where id_abogados = '$idabogado'";
$run_qry=mysql_query($check_exist_qry);
$total_found=mysql_num_rows($run_qry);
if($total_found >0)
{
	while ( list($especialidad) = mysql_fetch_row($run_qry) ) {
    $especialidad_as_array[] = $especialidad;
}
}

Espero que a alguien le sirva en el futuro. Es la alternativa a hacerlo con implode y explode.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar