复选框检查时更新php SQL(无提交按钮)

时间:2017-11-08 16:02:08

标签: javascript php sql ajax checkbox

我从数据库中提取数据并显示在表格中。我希望我的复选框在选中/取消选中时自动更新数据库中的值,而不使用提交按钮来触发操作。我是 AJAX 的新手,并尝试调整一些代码。我无法让它发挥作用。我不明白的一个主要问题是'#state_span'的用途是什么?

数据页(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);

0 个答案:

没有答案