Para actualizar (que es lo mismo que modificar) los datos, hazlo del mismo modo. Supongo que para mostrar las opciones que ya insertaste previamente, haces algo como esto (es un ejemplo):
Código PHP:
Ver original<?php
$id = "0434";
$query = mysqli_query($conexion, "SELECT * FROM tabla WHERE id = $id"); $opciones = explode(',', $row["opciones"]); foreach ($opciones as $opcion){
?>
<input type = "checkbox" name = "tema[]" value = "<?=$opcion?>" /> <?=$opcion?>
<?php
}
}
?>
Como veo que los datos los tienes organizados de este modo:
opcion1,opcion2,opcion3,opcion4, solamente te queda guardarlos del mismo modo, es decir, al momento de enviar los datos, supongamos que el usuario solamente seleccionó las opciones 1 y 4, entonces, solamente esas opciones deberían guardarse, por lo que al archivo que procesará los datos, llegará el array
$_POST["tema"] con los valores
opcion1,opcion4 y solamente te quedaría insertar una coma entre ambos datos con
implode. Pero ahí no queda todo, ya que supongo que debes tener varias opciones, cada grupo de éstas debe tener un número identificador, con el cual actualizarías las opciones que desees actualizar. Para esto, puedes tener un campo oculto con el Id del grupo de opciones y sería ese valor el que te serviría para actualizar las opciones indicadas.
Esto debe ir justo después del bloque de opciones:
Código HTML:
Ver original<input type = "hidden" name = "id" value = "<?=$row["id"]?>" />
Código PHP:
Ver original$opciones = implode(',', $_POST["tema"]); $id = $_POST["id"];
$query = mysqli_query($conexion, "UPDATE tabla SET opciones = '$opciones' WHERE id = $id");
Saludos