• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Ajax异步请求PHP数据

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

来源: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" >';
    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" >';
     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、百度等搜索引擎


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php用@readfile()形式下载文件发布时间:2022-07-10
下一篇:
PHP之pdo的预处理模式发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap