簡體   English   中英

AJAX PHP數據庫查詢不起作用

[英]AJAX PHP Database query not working

我正在嘗試學習AJAX,但進展並不順利。 用戶可以在我的網站上請求培訓。 提交請求后,講師應能夠從此頁面管理請求。 但是,當嘗試“聲明”請求時,AJAX不能正確運行,沒有錯誤。

  • 內部html不變
  • 數據庫條目未更改
  • 我知道php文件正在運行,因為我以前收到過錯誤

PHP / HTML / Javascript / AJAX

<table class="sidebar" style="width:50%;">
    <tr><th>My Open Requests</th></tr>
    <div id="myopen">
    <?php
        if(!empty($myopen)){
            foreach($myopen as $request){
                $date = date('F d Y - gA', $request['submitted']);
                echo '<tr><td>'.$request['vid'].' - '.$request['type'].' - '.$request['comments'].' - '.$date.'</td></tr>';
            }
        }
        else{
            echo '<tr><td>NONE</td></tr>';
        }
    ?>
    </div>
</table>

<table class="sidebar" style="width:50%;">
    <tr><th>My Closed Requests</th></tr>
    <?php
        if(!empty($myclosed)){
            foreach($myclosed as $request){
                $date = date('F d Y - gA', $request['submitted']);
                echo '<tr><td>'.$request['vid'].' - '.$request['type'].' - '.$request['comments'].' - '.$date.'</td></tr>';
            }
        }
        else{
            echo '<tr><td>NONE</td></tr>';
        }
    ?>
</table>

<table class="sidebar" style="width:50%;">
    <tr><th>Unclaimed Requests</th></tr>
    <div id="unclaimed">
    <?php
        if(!empty($unclaimed)){
            foreach($unclaimed as $request){
                $date = date('F d Y - gA', $request['submitted']);
                $id = $request['id'];
                $name = "'".$this->registry->getData('firstname').' '.$this->registry->getData('lastname')."'";
                echo '<tr><td>'.$request['vid'].' - '.$request['type'].' - '.$request['comments'].' - '.$date.' <a href="" onclick="claim('.$id.','.$name.')">Claim</a></td></tr>';

            }
        }
        else{
            echo '<tr><td>NONE :)</td></tr>';
        }
    ?>
    </div>
</table>
<table class="sidebar" style="width:50%;">
    <tr><th>Request Log</th></tr>
    <?php
        if(!empty($claimed)){
            foreach($claimed as $request){
                echo '<tr><td>'.print_r($request).'</td></tr>';
            }
        }
        else{
            echo '<tr><td>NONE</td></tr>';
        }
    ?>
</table>
<script>
    function claim(id, name){
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("myopen").innerHTML = xmlhttp.responseText;
            }
        };
        xmlhttp.open("POST", "/lib/AJAX/trainingRequestManage.php", true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.send("id="+id+"&name="+name);
    }
</script>

trainingRequestManage.php

<?php
$id = $_POST["id"];
$id = $_POST["name"];

include('http://www.ivaoxa.org/config/db.php');

$sql = "UPDATE trainingRequests SET trainer='".$name."' WHERE id=".$id;

// Prepare statement
$stmt = $db->prepare($sql);

// execute the query
$stmt->execute();

echo 'test';

db.php

<?php
$db = new PDO('mysql:host=localhost;dbname=xx;charset=utf8', 'xx', 'xx');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

除非將http://www.ivaoxa.org/config/db.php用作純文件,否則以下行將永遠無法工作:

include('http://www.ivaoxa.org/config/db.php');

更多信息: http : //php.net/manual/zh/function.include.php

暫無
暫無

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

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