使用AJAX返回数据库信息


Use AJAX to return database info

我有一个脚本,我打算自动复制数据库表。我已经被告知复制,但我不知道如何让它正常工作,所以我决定使用这种方法。

为了尽量减少安全风险,我们的实时站点将请求其他站点定期使用的数据库表。请求脚本,我称之为request.php,如下所示。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <script type="text/javascript">
            //Idea is to use this to get response to provide table data
            //What goes here?
        </script>
    </head>
    <body>
    <?php
        //Define database handler
        $dbWriter = new mysqli(database connection info);
        if($mysqli->connect_errno){
            $errorMessage = sprintf("'%s'", $mysqli->connect_error);
            echo $errorMessage;
        }
        else{
            $dbWriter->query("DELETE * FROM qb_inventory_status");
            //Processing of data goes here
            foreach($returnedItems as $item){
                //Create query to insert individual records
                $start = "INSERT INTO table(fieldA, fieldB...) VALUES (";
                $end = sprintf("'%s', %d, %d, %f, %f)", fieldA, fieldB...);
                $start .= $end;
                //Database handler uses $start to insert record
                $dbWriter->query($start);
            }
            $dbWriter->close();
        }
    ?>
    </body>
</html>

响应脚本(response.php)如下所示。

<?php
require_once($documentRoot."/classes/DBHandler.php");
$db_controller = new DBHandler();
$query = "SELECT * FROM table";
$result = $db_controller->select($query);
//This array is what should be returned so request.php can handle it
while($rowObject=mysql_fetch_object($rs)){        
    $rtnItems[]=$rowObject;
}
//Return $rtnItems here
?>

我知道如何从数据库中检索信息,并将其设置为适合在同一文件中处理的格式,但当遇到这种情况时,我不知道如何将其传递回request.php。我该如何做到这一点?我需要能够将返回的数组写入数据库。我以前从未用Javascript完成过后一个过程,所以我也想知道是否可以用request.PHP的PHP部分访问返回的数据库。

您可以使用类似的东西来完成ajax的基本功能

调用

$.ajax({url: "response.php", success: function(result){
        $("#div1").html(result);
 }});

始终检查jquery上的引用http://api.jquery.com/jquery.ajax/

在这种情况下,结果是你想在前端"粘贴"的信息。

使用数据处理程序作为响应(检索信息),除非直接从前端查询,否则不需要它。