mercredi 8 novembre 2017

Update php SQL when checkbox check (no submit button)

I am pulling data out of a database and displaying in a table. I would like my checkbox, when checked/unchecked, to auto-update the value in the database without using a submit button to trigger the action. I'm new to AJAX and tried to adapt some code. I cannot get it to work. One major thing I don't understand is what '#state_span' is for?

Data Page (HTML)

$sql = "SELECT * FROM Orders ORDER BY " .$order;
$myData = mysqli_query($dbconnect, $sql);

while ($record = mysqli_fetch_array($myData)){

        if ($record['Sent'] == 0) {
            $sent = "";
        } else {
            $sent = "checked";
        }
        if ($record['Paid'] == 0) {
            $paid = "";
        } else {
            $paid = "checked";
        }


        echo "<tr>";
        echo '<td class="MenuLeft">' . $count .  "</td>";
        echo '<td class="MenuMid">' . $record['Name'] . "</td>";
        echo '<td class="MenuRight"><input type="checkbox" 
            name="Sent" 
            id="'. $record['ID'] .'"
            class="ChkSwitch"' . $sent . ' ></td>';
        echo '<td class="MenuRight"><input type="checkbox" 
            name="Paid" 
            id="'. $record['ID'] .'"
            class="ChkSwitch"' . $paid . ' ></td>';
        echo "</tr>";

        echo '<script>
         $(document).ready(function() {
            $(".ChkSwitch").click(function() {
            var id = this.id; 
            var col = this.name //Tell us what column to update
            var state = this.checked ? 1 : 0;
         $("#state_span").load("ChkUpdate.php?d="+id+"&col="+col+"&state="+state); 
}
}

        </script>
        ';

PHP

$id = $_GET['id'];
$state= $_GET['state'];
$col= $_GET['col'];


include("dbconnect.php");
$query  = "UPDATE Orders SET '$col' = '$state' WHERE ID = '$id' ";
mysqli_query($dbconnect, $query);




Aucun commentaire:

Enregistrer un commentaire