将MYSQL数据导入AJAX

时间:2010-01-20 03:53:06

标签: php mysql ajax

我是一名AJAX新手,我在尝试从mySQL和我的javascript函数中获取数据时遇到了很大的麻烦。

我想要做的是在php中循环我的数据并以某种方式将该数据发送到页面上的各种命名div。

以下是我的javascript页面中的代码:

function loadPageContent(){

var projectID = getQuerystring('pid');
var templateID = getQuerystring('t');

xmlHttp=GetXmlHttpObject()

if (xmlHttp==null){
 alert ("Browser does not support HTTP Request")
 return
} 

var url="getImages.php"
url=url+"?projectID="+projectID
url=url+"&templateID="+templateID
xmlHttp.open("GET",url,true);
 xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 

document.getElementById("statusdebug1").innerHTML=xmlHttp.responseText;
            }
        }

xmlHttp.send(null);
} 

这是我的php页面的代码:

    <?php 

$projectID = $_GET["projectID"];
$templateID = $_GET["templateID"];

include_once('includes/php/conn.php');

$sql ="select * FROM imageSel WHERE projectID='$projectID' AND templateName = '$templateID'";

$results=mysql_query($sql, $link);

if(!($mysql_rs = mysql_query($sql, $link)))
die("Error in executing query");

echo "<script language='JavaScript'>";

while($row =mysql_fetch_assoc($results) ){ 

$imageSelID = $row['imageSelID'];
$templateName = $row['templateName'];
$tNode = $row['box'];
$image = $row['image'];


$sql2 ="select * FROM products WHERE productid='$image'";

if(!($mysql_rs = mysql_query($sql2, $link)))
die("Error in executing query");

//Retrieve values
$row2 = mysql_fetch_array($mysql_rs);

$productname = $row2['productname'];
$subcategoryid = $row2['subcategoryid'];


    $sql3 ="select * FROM subcategory WHERE subcategoryid='$subcategoryid'";

    if(!($mysql_rs = mysql_query($sql3, $link)))
    die("Error in executing query");

    //Retrieve values
    $row3 = mysql_fetch_array($mysql_rs);

    $foldername = $row3['foldername'];
    $foldername = strtolower($foldername);


$theImage = '<img src="images/lowres/' . $foldername . '/' . $productname .'" />';

echo "document.getElementById(".$tNode.").innerHTML=".$theImage.";";

}

echo "</script>";

?>

3 个答案:

答案 0 :(得分:0)

这通常不是我如何实现AJAX。

AJAX,如果操作正确,应该将数据发送到浏览器,然后让浏览器决定如何处理它。

尝试使用json_encode将要发送的数据以JSON格式发送到浏览器,然后在Javascript端使用JSON library对数据进行解码,然后对其进行适当处理。

祝你好运!

答案 1 :(得分:0)

请使用此代码:

xmlHttp.open( “GET”,网址的);

因为如果你保持其真实,那么它将调用asynchronize ajax。

如果我错了,请更正。

答案 2 :(得分:0)

您正在设置对div的innerHTML的Ajax响应。但是您在PHP中输出了javascript(这将成为您的Ajax响应)。尝试仅输出img标签而不使用javascript包装器。或者,甚至只输出“Hello world”;

编辑添加:您在客户端和服务器端使用javascript getElementById和innerHtml。这是多余的。您可能希望将其保留在客户端,即您的html和javascript