AJAX基本介绍和简单实例03-----Ajax与数据库的动态应用
初始界面:
查询姓名为杜森的客户,结果如下:
Demo03.HTML代码如下:
<html> <Metahttp-equiv="content-type"content="text/html"charset="utf-8"/> <head> <style> body { background:#CCC; color:#F00; } </style> <scripttype="text/javascript"> /* Javascript部分大家应该可以看得懂,如果不明白的话,可以参见前两讲! */ 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","./Demo03.PHP?q="+str,true); xmlhttp.send(); } </script> </head> <body> <formaction=""style="margin-top:15px;"> <label>请选择一位客户: <!--下拉框的值改变时激发的事件,用onchange事件--> <selectname="customers"onchange="showCustomer(this.value)"style="font-family:Verdana,Arial,Helvetica,sans-serif;"> <optionvalue="">请选择以下客户</option> <optionvalue="all">所有客户</option> <optionvalue="杜森">杜森</option> <optionvalue="邱阳阳">邱阳阳</option> <optionvalue="董小姐">董小姐</option> <optionvalue="赵雪妍">赵雪妍</option> <optionvalue="张若萍">张若萍</option> </select> </label> </form> <br/> <divid="txtHint"></div> </body> </html>
<?PHP //获取到传递过来的用户名的值 $username=$_GET['q']; //判断是否显示所有的客户信息 if($username=="all") { $sql="select*fromuser_info"; } else { $sql="select*fromuser_infowhereusername='$username'"; } //声明对象数据库操作对象 $MysqLi=newMysqLi(); //参数依次为主机名,数据库用户名,数据库密码,数据库名称 $conn=$MysqLi->connect("localhost","root","","Ajax_demo"); //设定字符集为utf8格式 $MysqLi->set_charset("utf8"); $result=$MysqLi->query($sql,$conn); $return_str=""; $return_str.="<table>"; $return_str.="<tr> <td>ID</td> <td>Username</td> <td>Sex</td> <td>address</td> <td>telephone</td> </tr>"; while(!!$row=$result->fetch_array()) { $return_str.="<tr> <td>".$row['id']."</td> <td>".$row['username']."</td> <td>".$row['sex']."</td> <td>".$row['address']."</td> <td>".$row['telephone']."</td> </tr>"; } $return_str.="</table>"; echo$return_str; ?>
--PHPMyAdminsqlDump --version2.11.2.1 --http://www.PHPmyadmin.net -- --主机:localhost --生成日期:2015年01月31日15:18 --服务器版本:5.0.45 --PHP版本:5.2.5 SETsql_MODE="NO_AUTO_VALUE_ON_ZERO"; -- --数据库:`ajax_demo` -- CREATEDATABASE`ajax_demo`DEFAULTCHARACTERSETutf8COLLATEutf8_general_ci; USE`ajax_demo`; ---------------------------------------------------------- -- --表的结构`user_info` -- CREATETABLE`user_info`( `id`int(10)unsignedNOTNULLauto_incrementCOMMENT'//用户编号',`username`varchar(40)NOTNULLCOMMENT'//用户姓名',`sex`varchar(4)NOTNULLCOMMENT'//用户性别',`address`varchar(100)NOTNULL,`telephone`varchar(11)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`username`(`username`) )ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=6; -- --导出表中的数据`user_info` -- INSERTINTO`user_info`(`id`,`username`,`sex`,`address`,`telephone`)VALUES (1,'杜森','男','河南省新乡市新乡县','13723145623'),(2,'邱阳阳','河南省信阳市','13723325623'),(3,'董小姐','女','河南省周口市',(4,'张若萍','河南省洛阳市','13723325423'),(5,'赵雪妍','开封市','13723325423');
提示:如果数据库连接错误,请修改Demo03.PHP第15行的数据库连接信息,配置成您对应的数据库信息。
如果有什么错误的地方,欢迎的大家指正,如果想了解我更多,可以连接http://blog.sina.com.cn/u/5379705731九骥网维工作室微博!