samedi 28 janvier 2023

How to insert checkbox value in multiple rows in one table PHP [closed]

tengo una tabla con varios campos y con un checkbox. Una vez mostrados todos los campos, se marcan los checkbox que se quieran. Lo que me gustaría es seleccionar todas las filas que tengan el checkbox activado y hacer insert en bbdd y otras cosas. lo he probado de varias maneras pero siempre me sale el mismo mensaje Warning: Undefined array key "selec" in D:\Xampp\htdocs\mf3\ind.php on line 33

Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in D:\Xampp\htdocs\mf3\ind.php:34 Stack trace: #0 {main} thrown in D:\Xampp\htdocs\mf3\ind.php on line 34

La línea 34 es $checkbox = $_POST['selec'];

Llevo varias horas pero no consigo arreglarlo.

Por favor, me puede ayudar alguien?

He recortado el código y lo he dejado mas sencillo para que se vea mejor.

Adjunto código

     <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <link rel="stylesheet" href="css/main.css">
    <script src="css/jquery.min.js"></script>
    <link rel="stylesheet" href="css/bootstrap.min.css" />
    <script src="css/bootstrap.min.js"></script>
    <link rel="stylesheet" href="css/jquery.dataTables.min.css">
    </style>
    <script type="text/javascript" src="css/jquery.dataTables.min.js"></script>
    <script type="text/javascript" src="css/bootstrap-filestyle.min.js"> </script>
    <link href="css/fonts.css" rel="stylesheet">
    <link href="css/main1.css" rel="stylesheet">
    <link href="css/main.css" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" 
    rel="stylesheet"
        integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
        crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="css/crud_hoja.css">
</head>


<body>
    <?php
include('mf_conexion.php');

if (isset($_POST['añadirseleccion'])) {

    $checkbox = $_POST['selec'];
        for ($i = 0; $i < count($checkbox); $i++) {
            $check_id = $checkbox[$i];
            echo "registro " . $check_id;
        }
    }
?>

    <form method="POST" action="">
        <div class="header col-sm-4 mt-0">
            <button type="submit" class="btn btn-primary" style="width:200px" 
            name="añadirseleccion">Submit</button>

            <?php
            $result=$db->query("SELECT * FROM cancion");

            while ($row = $result->fetch_assoc()) { ?>

        </div>

        <table class="table display table-striped table-bordered" id="mitabla"
        style="width:100%">
            <tr class="align-middle ">
                <td class="align-middle"><?php echo $row['artista']; ?></td>
                <td class="align-middle"><?php echo $row['cancion']; ?></td>
                <td class="align-middle"><?php echo $row['cancionId']; ?></td>
                <td class="align-middle text-center size_sel">
                    <input type="checkbox" name="selec[]" id="checkItem" 
                    value="<?php echo $row['cancionId']; ?>">
                </td>
            </tr>
        </table>
    </form>
    <?php }?>

</body>

</html>

Me he mirado todos los casos que he encontrado en stackoverflow pero no he podido solucionarlo. Esperaba poder solucionarlo pero no ha sido posible




Aucun commentaire:

Enregistrer un commentaire