Maison  >  Article  >  php教程  >  Ajax异步请求PHP数据

Ajax异步请求PHP数据

WBOY
WBOYoriginal
2016-06-21 08:47:241287parcourir

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

如果输入了科室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 = '科室名字:



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn