来源: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:
/*防止恶意调用*/
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 = '科室名字:
while (!!$rowDKQ = fetchAssoc($resultDKQ))
{
$hint .= '
$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 = '科室名字:
while (!!$rowDK = fetchAssoc($resultDK))
{
$hint .= '
$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 .= '';
}
$hint .= '';
}
}
$response=$hint;
//输出响应
echo $response;
?>
效果:
未输入ID如上图,输入ID在下图:
下一篇:百家搜索:在站点中加入Google、百度等搜索引擎
相关阅读
发表评论