我之前问过一个类似的问题here,它让我失去了正确的轨道,但我仍然有点难住。但是,现在我知道如何去问一个更有教养的问题。如何使用ajax和PHP来创建和填充div元素?
我有一个数据库连接到一个表名称的产品。产品内包括列ID,STOCK,SHORTNAME,DESCRIPTION,PRICE和SHIPPING。
如果用户点击一个按钮,我需要发送一个请求来查找PRODUCTS中的所有行。我相信下面的file.php完成(DB连接代码不显示)。
$query = "SELECT `ID` FROM `PRODUCTS`";
$result = mysql_query($query) or die('Query failed:'.mysql_error());
$num=mysql_numrows($result);
当用户点击按钮,并获得$ num时,它需要创建尽可能多的div元素,因为有行。我可以用for()来做到这一点,但我不是100%确定该怎么做。另外,我不确定如何在Jquery中完成此操作,而不仅仅是JS。
function ajaxFunction(phpFunction){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
for (var i = 0; i < ajaxRequest.responseText ; i++)
//Create Div code here
}
}
var url = "file.php;
ajaxRequest.open("GET", url, true);
ajaxRequest.send(null);
}
因此,这里是最后的问题:
如果用户点击一个特定的div(#revealProductButton),我怎么创造尽可能多的div作为$num回报?
如何让创建的div从数据库中显示STOCK, PRICE, and SHIPPING?每个div必须显示它自己的信息,而不只是一个显示所有内容的div。
如果用户点击其中一个创建的div,我该如何显示数据库中的其余信息(描述等),但只针对被点击的div?
如何编写我的file.php以处理所有这些问题?
2010-02-02
Jared