在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静态页面里面怎么用函数调用数据库啊?求高手帮忙的主要内容,如果未能解决你的问题,请参考以下文章

怎么修改百度地图搜索出来的地址的图标的样式啊,是搜索出来后的图标啊

HTML5如何调用公共文件?

HTML5+jQuery mobile怎么调用手机的相机、相册啊

js 怎么调用手机上的应用市场

html怎么调用另外一个页面的内容?

thinkphp中怎么定义及调用自定义函数?