使用AJAX返回数据库信息

时间:2015-12-16 20:54:15

标签: javascript php ajax

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

为了尝试将安全风险降至最低,我们的实时网站将对我们的其他网站经常使用的数据库表进行请求。请求脚本,我将其称为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

?>

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

1 个答案:

答案 0 :(得分:1)

你可以用这样的东西做基础的ajax

致电

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

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

在这种情况下,结果是您想要的信息&#34;粘贴&#34;在你的前端。

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