>  기사  >  php教程  >  Ajax异步请求PHP数据

Ajax异步请求PHP数据

WBOY
WBOY원래의
2016-06-21 08:47:241224검색

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

如果输入了科室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)-->&#39;;
    while (!!$rowDKQ = fetchAssoc($resultDKQ))
    {
      $hint .= &#39;
'; $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 .= ''; } $hint .= ''; } } // 不是数字 else { $resultDK = queryDB(select table_dake.name from table_dake); $hint = '科室名字:



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.