在html静态页面里面怎么用函数调用数据库啊?求高手帮忙
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在html静态页面里面怎么用函数调用数据库啊?求高手帮忙相关的知识,希望对你有一定的参考价值。
html是静态页面,因此,如果实现数据库动态调用,最好的方法就是使用AJAX技术,使用XMLHTTPrequest来请求。给一个示例吧:
function requestHttp()
var request;
if(window.XMLHttpRequest)
request = new XMLHttpRequest();
if(request.overrideMimeType) request.overrideMimeType('text/xml');
else if(window.ActiveXObject)
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i<versions.length; i++) try
request = new ActiveXObject(versions[i]);break;
catch(e)
return request;
function xmlhttp()
this.r=requestHttp();
xmlhttp.prototype.postopen=function(url,data)
this.r.open('POST',url,false);
this.r.setrequestheader("content-type","application/x-www-form-urlencoded");
this.r.onreadystatechange = ReadyStateChange(this);
if(typeof(data)=='undefined')
this.r.send();
else
this.r.send(data);
xmlhttp.prototype.getopen=function(url)
if(window.XMLHttpRequest) this.r.open('GET',url);
this.r.onreadystatechange = ReadyStateChange(this);
this.r.send(null);
else
this.r.open("GET", url, true);
this.r.onreadystatechange = ReadyStateChange(this);
this.r.send();
ReadyStateChange=function(obj)
return function()
if(obj.r.readyState==4)
obj.status=obj.r.status;
obj.text=obj.r.responseText;
obj.body=obj.r.responseBody;
callpage();
把这个别存为Shopajax.js
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src="shopajax.jss"></script>
</HEAD>
<BODY>
<div id="as"></div>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ajax=new xmlhttp();
debugger
ajax.getopen("1.html");
function callpage()
if(ajax.status==0)//本地为0,远程为200
var obj=eval('('+ajax.text+')');
document.getElementById("as").innerHTML="年纪:"+obj.Age+"<br>薪水:"+obj.Money;
//-->
</SCRIPT>
</BODY>
</HTML>
这个随便存一个页面保存为index.html
"Money":2000.00,"Age":21
把这个存成一个1.html
保存完后,点击Index.html就可以看到Div里面有值了。值是从1.html里面取到的。这个过程实现 了Ajax 参考技术A html是静态代码,不能调用数据库
如果调用数据库,就要用动态代码,网页就变成动态的,
至于怎么调用,先要看你用什么语言代码了,有很多种,例如ASP,php,JSP等等 参考技术B class.forName();
或者JNDI
PHP函数里面的静态变量
工作一年了,一年里很少用到static这个关键词,不管是类里面还是方法里面基本都没怎么用过。平时看到类里面有这个都没什么好奇的,今天在函数里面看到了这个,就去百度了一下。
<?php
function test1(){
static $a = 0;
$a++;
echo ‘test1的‘.$a.‘<br/>‘;
}
function test2(){
$a = 0;
$a++;
echo ‘test2的‘.$a.‘<br/>‘;
}
test1();
test1();
test2();
test2();
test1();
以上两个函数写在同一个文件下,先看下面运行结果
大家可以很容易的看出来,test1里面的$a是每调用一次test1就会在上次调用test1的基础上增加1,而且跟test2里面的$a没有任何关系。
那这里就总结一下static在函数里面定义变量的作用,(以上完全自己手巧没有复制外部资料。以下百度所得)
1.不会随着函数的调用和退出而消失,当再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值
2.静态局部变量只会初始化一次
3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。
4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。
以上是关于在html静态页面里面怎么用函数调用数据库啊?求高手帮忙的主要内容,如果未能解决你的问题,请参考以下文章
怎么修改百度地图搜索出来的地址的图标的样式啊,是搜索出来后的图标啊