簡體   English   中英

在JavaScript中使用時,MySQL查詢未使用.open請求更新數據庫

[英]Mysql query not updating db with .open request while using in javascript

我試圖更新一行,我想要一個復選框值來更新mysql中的表字段。 我不想使用表格,因為我不想刷新頁面。 我粘貼了下面的代碼,這是我連續第三天被困在這里。

 <script type="text/javascript">
        function chkit(uid, chk, sid) {
            chk = (chk==true ? "1" : "0");
            var url = "edit_sms_process.php?userid="+uid+"&chkYesNo="+chk+"&sid="+sid+"";
            if(window.XMLHttpRequest) {
                req = new XMLHttpRequest();
            } else if(window.ActiveXObject) {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            }
            // Use get instead of post.
            req.open("GET", url, true);

            req.onreadystatechange = function () {
                if (req.readyState === 4) {
                    if (req.status === 200) {
                        console.log(req.responseText);

                    } else {
                        console.log("Error", req.statusText);
                    }
                }
            };

            req.send(null);
        }
    </script>

我的php頁面:

 <div class="form-group">

                                       <label class="control-label col-md-3 col-sm-3 col-xs-12"
                                               for="chk_<?php echo $row2['teacher_id']; ?>">SMS Send<span
                                                class="required">*</span>
                                        </label>

                                        <div class="slideThree">
                                            <input type="checkbox"
                                                   name="chk"
                                                   id="chk_<?php echo $row2['teacher_id']; ?>"
                                                   value="chk"
                                            onclick="chkit(<?php echo $row2['teacher_id']; ?>, this.checked, <?php echo $row2['teacher_schoolref_id'] ?>);"
                                                <?php echo ($row2['sms_send'] == 1) ? 'checked="checked"' : ''; ?> />
                                            <label for="chk_<?php echo $row2['teacher_id']; ?>"></label>

C

現在chrome控制台顯示了這個

edit_sms.php?sms = 61:151 XHR已完成加載:GET“ http://localhost/cloud_school/cloud_school/dashboard_files/communication/edit_sms_process.php?userid = 61&chkYesNo = 0&sid = 10 ” .chkit @ edit_sms.php?sms = 61:151onclick @ edit_sms.php?sms = 61:383 edit_sms.php?sms = 61:143 10成功

// Get the variables.
$userid = $_GET['userid'];
$chkYesNo = $_GET['chkYesNo'];
$schoolcid= $_GET['sid'];

$sql = "UPDATE teachers SET sms_send = $chkYesNo WHERE teacher_id = $userid AND     teacher_schoolref_code = $schoolcid";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));

if($result==1) {
 echo $result;
 echo $chkYesNo;
 echo "success";
}

盡管控制台顯示為成功,但數據庫沒有更新。 我已經將db connect字符串包含在php頁面中,並且為了簡單起見在此處未添加。

任何幫助將不勝感激!!!

在dod29的幫助下,我能夠解決此問題。 我在第二個實例更改中使用了錯誤的列名,從而解決了該問題。 謝謝dod29

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM