当前位置:首页 » 数据仓库 » ajax循环添加数据库数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

ajax循环添加数据库数据库

发布时间: 2023-06-02 22:58:00

1. ajax调用数据库

大致是两个步骤:客户端触发读取数据请求,服务器端接收请求查询数据库并返回结果。


1、客户端请求

假设从页面的下拉列表中选择一个客户,当用户在下拉列表中选择某个客户时,会执行名为"showCustomer()"的函数。该函数由"onchange"事件触发:

functionshowCustomer(str)
{
varxmlhttp;
if(str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if(window.XMLHttpRequest)
{//codeforIE7+,Firefox,Chrome,Opera,Safari
xmlhttp=newXMLHttpRequest();
}
else
{//codeforIE6,IE5
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}

2、服务器端响应,asp示例:

<%
response.expires=-1
sql="SELECT*FROMCUSTOMERSWHERECUSTOMERID="
sql=sql&"'"&request.querystring("q")&"'"

setconn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/db/northwind.mdb"))
setrs=Server.CreateObject("ADODB.recordset")
rs.Opensql,conn

response.write("<table>")
dountilrs.EOF
foreachxinrs.Fields
response.write("<tr><td><b>"&x.name&"</b></td>")
response.write("<td>"&x.value&"</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
%>

2. 怎样用ajax连接数据库

$.ajax({
type:'POST',url:'submitcomment.php',timeout:2000,cache:true,
data:'dataid='+dataid+'&appid='+appid+'&name='+name.val()+'&txt='+txt.val()+'&openid='+openid,
error:function(msg){return false},
success:function(json, st){
if(json.result == 0){
alert('您的评论审核通过后,才会显示出来!');
}else{ //否则审核通过,显示出来
$("#comlistx0014jwh62k").html(json);
}
}
});

后台submitcomment.php代码:

<?php

include("connect.php");//连接数据库文件
echo '<pre>',var_mp($_REQUEST['appid']),'</pre>';
echo '<pre>',var_mp($_REQUEST['name']),'</pre>';
die();

//mysql_query("INSERT INTO biao(name,txt) VALUES ('$_POST["name"]','$_POST["txt"]');
?>

3. 关于Ajax如何连接数据库

Ajax连接数据库是通过ajax调用后台servlet,然后servlet请求接口实现的。
比如有页面ajax实现方法:
function showCustomer(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}

后台servlet写法:
response.expires=-1
//定义sql 进行结果检索
sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID="
sql=sql & "'" & request.querystring("q") & "'"
//连接数据库
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/db/northwind.mdb"))
set rs=Server.CreateObject("ADODB.recordset")
//打开数据库链接
rs.Open sql,conn
response.write("<table>")
do until rs.EOF
for each x in rs.Fields
response.write("<tr><td><b>" & x.name & "</b></td>")
response.write("<td>" & x.value & "</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
以上就把结果查询出来了,并且放在response中,页面ajax获取结果就可以处理了。