mardi 30 avril 2019

How to create an editable html checkbox table in php and mysql?

I've created a html checkbox table whose data get's saved in the mysql database. I want to make it editable, the user should be able to uncheck the checked boxes or check some new boxes and the data should be saved and delete in the database accordingly.

The checked data gets saved in "c1-r1, c1-r2" format.

<?php


        $active = "report";
    `require_once 'pages/header.php';
    require_once './functions/schema-functions.php';
    require_once './functions/report-functions.php';

       $course = Schema::getCourse();
       $objective = Schema::getObjective();
       $goals = Report::getGoals();
       $mainobj = Report::getMainObjectives();
       $subobj = Report::getSubObjectives();
    ?>

    <form id="addReport" action ='./functions/report-functions.php' method="post">

    <table id="table1" class="table table-hover">

        <thead>
        <?php
        echo '<tr><th>Goals</th>';
        for ($i = 0; $i < count($course); $i++) {
            echo '<th id = "rotate1" >'. $course[$i]->commonName . '</th>';            
        }
        echo '</tr>';   
        ?>
        </thead>
            <tbody>

        <?php
        for ($y = 0; $y < count($goals); $y++) {           
            echo '<tr class="clickable"><th class="toggle">Goal#'.$goals[$y]['GoalId'].':'." " .' '.$goals[$y]['Goals'].'</th>

            </tr>';           
       ?>

        <?php
        for( $z = 0; $z < count($mainobj); $z++){
      if($mainobj[$z]['GoalId'] == $goals[$y]['GoalId']) {
            echo '<tr class="expander"><th class=row-header>Objective#'.$mainobj[$z]['MainObjId'].':'." ".' '.$mainobj[$z]['MainObjectives'].'</th>

        </tr>';
         ?>

        <?php

        for ($j = 0; $j< count($subobj); $j++) {
           if($mainobj[$z]['MainObjId'] == $subobj[$j]['MainObjId']){
           echo '<tr class="expander"><td class=row-header>'.$subobj[$j]['SubObjId'].' ) '.$subobj[$j]['SubObjectives'].' </td>';

       for ($x = 0; $x < count($course); $x++) {


          echo "<td><input name='check[]' type=checkbox value=c".$course[$x]->courseId."-o".$subobj[$j]['SubObjId']." id=checked></td>";

            }
            echo '</tr>';
        }
       }
      }
     }
    }       
            ?>       
            </tbody>       
    </table>
    <button class="button" name= "submit" value= "Submit">Submit</button>
</form>



<?php
require_once 'pages/footer.php';
require_once 'pages/close.php';
?>

The table should be editable and the checkboxes should be visible to the user. The user should also have the ability to make the changes and the new changes should be reflected in the same table.




Aucun commentaire:

Enregistrer un commentaire