Por si ayuda a encontrar lo que falla pego absolutamente todo el código que tengo para mostrar la lista de materiales, con los respectivos formularios de los checksbox
Código PHP:
Ver original<?php
if($result = $con->query($query)) {
while ($row = $result->fetch_array()) {
$string = $row["bugs"];
$buscar4 = "lg";
$pos4 = strpos($string, $buscar4);
$buscar3 = "md";
$pos3 = strpos($string, $buscar3);
$buscar2 = "sm";
$pos2 = strpos($string, $buscar2); ?>
<tr>
<td><?php echo $row['titulo']; ?></td>
<td><?php echo $row['categoria']; ?></td>
<td><?php echo $row['descripcion']; ?></td>
<td><?php echo $row['precio']; ?> €</td>
<?php echo "<td><img width='210' height='137' src='" . $row['imagen'] . "'/></td>"; ?>
<td><button class='btn btn-warning'>Editar</button></td>
<td>
<form action='' method='post'>
<?php echo "<input type='hidden' name='id' value='" . $row['idmaterial'] . "'/>"; ?>
<button type="submit" name='borrar' class='btn btn-danger' value="borrar">Borrar</button>
<?php
if(isset($_POST["borrar"])) { $id_borrar = $_POST["id"];
$sql_borrar = "DELETE FROM materiales WHERE idmaterial='$id_borrar'";
$con->query($sql_borrar);
header('Location: materiales.php'); }
?>
</td>
</form>
<td>
<form action='' method='post'>
<?php echo "<input type='hidden' name='bug' value='" . $row['idmaterial'] . "'/>"; ?>
<button type='submit' class='btn btn-primary' name='enviar' value='enviar'>Enviar</button>
<div class='checkbox'>
<label>
<input type='checkbox' name='check4' value='4' <?php echo ($pos4===false) ? '':'checked'; ?> > 4
</label>
</div>
<div class='checkbox'>
<label>
<input type='checkbox' name='check3' value='3' <?php echo ($pos3===false) ? '':'checked'; ?> > 3
</label>
</div>
<div class='checkbox'>
<label>
<input type='checkbox' name='check2' value='2' <?php echo ($pos2===false) ? '':'checked'; ?> > 2
</label>
</div>
<?php
if(isset($_POST["enviar"])) {
if($_post["check4"] == "4") {
$id_agregar = $_POST["bug"];
$sql2 = "UPDATE materiales SET bugs='$lg' WHERE idmateriales='$id_agregar'"; // lo llamo $sql2 porque ya use $sql para agregar los datos de la imagen
}
elseif($_POST["check3"] == "3") {
$id_agregar = $_POST["bug"];
$sql2 = "UPDATE materiales SET bugs='$md' WHERE idmateriales='$id_agregar'"; // lo llamo $sql2 porque ya use $sql para agregar los datos de la imagen
}
elseif($_POST["check2"] == "2") {
$id_agregar = $_POST["bug"];
$sql2 = "UPDATE materiales SET bugs='$sm' WHERE idmateriales='$id_agregar'"; // lo llamo $sql2 porque ya use $sql para agregar los datos de la imagen
}
elseif($_POST["check4"] == "4" and $_POST["check3"] == "3") {
$id_agregar = $_POST["bug"];
$sql2 = "UPDATE materiales SET bugs='$lg_md' WHERE idmateriales='$id_agregar'"; // lo llamo $sql2 porque ya use $sql para agregar los datos de la imagen
}
elseif($_POST["check4"] == "4" and $_POST["check2"] == "2") {
$id_agregar = $_POST["bug"];
$sql2 = "UPDATE materiales SET bugs='$lg_sm' WHERE idmateriales='$id_agregar'"; // lo llamo $sql2 porque ya use $sql para agregar los datos de la imagen
}
elseif($_POST["check3"] == "3" and $_POST["check2"] == "2") {
$id_agregar = $_POST["bug"];
$sql2 = "UPDATE materiales SET bugs='$md_sm' WHERE idmateriales='$id_agregar'"; // lo llamo $sql2 porque ya use $sql para agregar los datos de la imagen
}
elseif($_POST["check4"] == "4" and $_POST["check3"] == "3" and $_POST["check2"] == "2") {
$id_agregar = $_POST["bug"];
$sql2 = "UPDATE materiales SET bugs='$ld_md_sm' WHERE idmateriales='$id_agregar'"; // lo llamo $sql2 porque ya use $sql para agregar los datos de la imagen
}
$con->query($sql2) || die("Ha ocurrido un error al guardar los datos"); }
?>
</form>
</td>
</tr>
<?php
}
$result->close();
}
$con->close();
?>