引用 自己看看PHP+AJAX连接MYSQL
<?
//连接到本地mysql数据库
$myconn=mysql_connect("localhost","root","");
//选择test为操作库
mysql_select_db("test",$myconn);
$strSql="select * from reguser";
//用mysql_query函数从user表里读取数据
$result=mysql_query($strSql,$myconn);
while($row=mysql_fetch_array($result))//通过循环读取数据内容
{
?>
<?
}
//关闭对数据库的连接
mysql_close($myconn);
?>
<?
//连接到本地mysql数据库
$myconn=mysql_connect("localhost","root","");
//选择test为操作库
mysql_select_db("test",$myconn);
$strSql="select * from reguser";
//用mysql_query函数从user表里读取数据
$result=mysql_query($strSql,$myconn);
while($row=mysql_fetch_array($result))//通过循环读取数据内容
{
?>
<?
}
//关闭对数据库的连接
mysql_close($myconn);
?>
当用户选择一个问题时,即时显示该问题对应的答案。
也就是说:根据用户选择的问题,用AJAX或者javascript查询数据表,得到结果,即时显示在页面上。
test.htm
<!--使用php读数据库生成,注意value是id,希望你的表中有id,要不直接是问题的也得-->
<select id="selQuestion" onchange="SendData(this.value)">
<option value="问题1的id">问题1</option>
<option value="问题2的id">问题2</option>
<option value="问题3的id">问题3</option>
</select>
<textarea id="taAnswer"></textarea>
<script>
function $(id){return document.getElementById(id);}
function createObj()
{
var o=null;
if(typeof(XMLHttpRequest)!="undefined") return new XMLHttpRequest();
if(window.ActiveXObject){
var MSXML=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHTTP"];
for(var i=0;i<MSXML.length;i++){
try{
o= new ActiveXObject(MSXML[i]);return o;
}
catch(e){}
}
}
return null;
}function SendData(v){
var o=createObj();//创建ajax对象
var url="answer.php?qid="+v;//===============你请求的url,参数为qid,你的answer.php需要的
o.open("get",url,true);//=========================
o.onreadystatechange=function(){
if(o.readyState==4){
if(o.status==200)$("taAnswer").value=o.responseText;
else alert("发生错误!\n\n"+o.responseText);
}
}
o.send(null);//发送请求
}</script>answer.php
<?php
$qid=$_GET['qid'];//获取ajax发送的问题id或者问题名称
$answer="";
/*
======
====
这里的代码是通过$qid来读数据库获取答案并且赋值给$answer,这个不用我说了吧
*/
//获取到$answer后,使用echo输出,这样ajax就可以获取到返回的值了
echo $answer;
die();//注意这里要停止输出了,要不如果你的php页面还有其他内容也会一起输出
?>
<select id="selQuestion" onchange="SendData(this.value)">
<option value="问题1的id">问题1</option>
<option value="问题2的id">问题2</option>
<option value="问题3的id">问题3</option>
</select>
<textarea id="taAnswer"></textarea>
<script>
function $(id){return document.getElementById(id);}
function createObj()
{
var o=null;
if(typeof(XMLHttpRequest)!="undefined") return new XMLHttpRequest();
if(window.ActiveXObject){
var MSXML=["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHTTP"];
for(var i=0;i<MSXML.length;i++){
try{
o= new ActiveXObject(MSXML[i]);return o;
}
catch(e){}
}
}
return null;
}function SendData(v){
var o=createObj();//创建ajax对象
var url="answer.php?qid="+v;//===============你请求的url,参数为qid,你的answer.php需要的
o.open("get",url,true);//=========================
o.onreadystatechange=function(){
if(o.readyState==4){
if(o.status==200)$("taAnswer").value=o.responseText;
else alert("发生错误!\n\n"+o.responseText);
}
}
o.send(null);//发送请求
}</script>
<?
//连接到本地mysql数据库
$myconn=mysql_connect("localhost","root","");
//选择test为操作库
mysql_select_db("test",$myconn);
$strSql="select * from reguser";
//用mysql_query函数从user表里读取数据
$result=mysql_query($strSql,$myconn);
while($row=mysql_fetch_array($result))//通过循环读取数据内容
{
?>
<?
}
//关闭对数据库的连接
mysql_close($myconn);
?>
<HEAD>
<TITLE> Sample page </TITLE>
</HEAD>
<BODY>
<script>
//var cpt_d="//172.1.1.1:1521/orcl";//DBサーバのIPとSID
//var john="scott";//ユーザ名
//var doe="tiger";//パスワードvar cpt_d="//192.168.1.179:1521/hcdb";//DBサーバのIPとSID
var john="sjz";//ユーザ名
var doe="sjz";//パスワード
//用 JavaScript 写服务器端连接数据库的代码示例
var conn = new ActiveXObject("ADODB.Connection");
//conn.Open("Provider=OraOLEDB.Oracle;Data Source="+cpt_d+";User ID="+john+";Password="+doe+";PLSQLRset=1");
conn.Open("DSN=hcdb;UID=sjz;PWD=sjz"); var rs = new ActiveXObject("ADODB.Recordset");
var sql="select EXCH_NAME EXCH_NAME,to_char(EXCH_ID) EXCH_ID from code_exch";rs.open(sql, conn, 2,1 );
/*
参数3表示游标类型,如下设置:
参数3 意 义
0 只读, 数据只能向下移动
1 可读写,数据可以自由移动,多用户下别人不能看到新增数据(除非重启动)
2 可读写,数据可以自由移动,多用户下别人可以看到新增数据
3 只读 , 数据可以自由移动参数4表示锁定类型,如下:
参数4 意 义
1 默认值, 只读
2 悲观锁定
3 乐观锁定
4 批次乐观锁定
也就是说第3个参数为1或2的时候,才能有recordcount
*/shtml = "<table width='100%' border=1>";
shtml +="<tr bgcolor='#f4f4f4'><td>KIND_ID</td><td>KIND_NAME</td></tr>";
var i=0;
while(!rs.EOF)
{
// for (var i=0; i < rs.fields.count; i++)
// {
// alert(rs.fields(i).name + ":" + rs.fields(i).value);
// }
shtml += "<tr><td>" + rs("EXCH_NAME") + "</td><td>" + rs("EXCH_ID") + "</td></tr>";rs.moveNext;
i++;
}
shtml += "</table>";
document.write(shtml); //alert(rs.RecordCount);alert(i);
//alert(rs.fields.count);
rs.close();
conn.close();
conn = null;
</script>
</BODY>
</HTML>
给一个连接ORACLE的!!!