Ajax异步请求PHP数据

王朝学院·作者佚名  2016-05-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Ajax异步请求php数据来源:http://www.ido321.com/1138.html

接到了老师的一个作业,实现的布局如图:

如果输入了科室ID,科室名字只显示与ID对应的,若没有输入,则显示全部,然后根据I科室名字的值,在所属大科中的文本框自动显示科室名字所在的大科。例如:选择了心血管内科,则在所属大科显示内科。

主要代码如下:

根据ID请求科室

function showHint(str){ var xmlhttp; if (window.xmlhttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttPRequest(); } else {// 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","keshi.php?q="+str,true); xmlhttp.send();}

keshi.php:

<?php/*防止恶意调用*/define("TEST",'test');// 引入文件include_once 'MySQL.func.php';// 数据库初始化connectMySQL();selectDB();setZiFuJi();//获得来自 URL 的 q 参数$q=$_GET["q"];//如果 q 是数字或者数字字符串if (is_numeric($q)) { $q = intval($q); $hint=""; $resultDKQ = queryDB("select name from table_dake where id=$q"); $hint = '科室名字:<select name="ksname" id="ksname" onchange="show(this.options[this.selectedIndex].value)">'; while (!!$rowDKQ = fetchAssoc($resultDKQ)) { $hint .= '<optgroup label='.$rowDKQ['name'].'>'; $resultKSQ = queryDB("select table_dake.id,table_keshi.sid,table_keshi.name from table_dake,table_keshi where table_dake.name='{$rowDKQ['name']}' and table_keshi.sid=table_dake.id"); while(!!$rowKSQ = fetchAssoc($resultKSQ)) { $hint .= '<option style="padding-left:15px;" value ='. $rowKSQ['name'].'>'.$rowKSQ['name'].'</option>'; } $hint .= '</optgroup>'; } } // 不是数字 else { $resultDK = queryDB("select table_dake.name from table_dake"); $hint = '科室名字:<select name="ksname" id="ksname" onchange="show(this.options[this.selectedIndex].value)">'; while (!!$rowDK = fetchAssoc($resultDK)) { $hint .= '<optgroup label='.$rowDK['name'].'>'; $resultKS = queryDB("select table_dake.id,table_keshi.sid,table_keshi.name from table_dake,table_keshi where table_dake.name='{$rowDK['name']}' and table_keshi.sid=table_dake.id"); while(!!$rowKS = fetchAssoc($resultKS)) { $hint .= '<option style="padding-left:15px;" value ='. $rowKS['name'].'>'.$rowKS['name'].'</option>'; } $hint .= '</optgroup>'; } } $response=$hint;//输出响应echo $response;?>

效果:

未输入ID如上图,输入ID在下图:

下一篇:百家搜索:在网站中添加Google、百度等搜索引擎

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航