PHP下拉列表菜单SELECT选定对应项后检索数据库显示数据问题
老司机们好,本菜鸟初涉PHP,想做一个医学诊断模板,如下:附加数据库信息:host='127.0.0.1';user='root';password='root';$da...
老司机们好,本菜鸟初涉PHP,想做一个医学诊断模板,如下:附加数据库信息:host='127.0.0.1';user='root';password='root';$database='pacsdata';存模板的表名:moban; moban里面有字段:ID,模板名称,影像征象,诊断意见。想要解决的问题:本人想通过选择列表项(列表菜单SELECT选定对应项后)检索出对应的数据库中两个字段(影像征象、诊断意见),并填在同一页面的两个文本框(text)中,两个text的name分别是:zhengxiang,yijian求大神经思路,简易代码为谢!!!<select name="toubu" class="b" id="toubu"> <option selected="selected">头部</option> <option>头部正常</option> <option>脑萎缩</option> <option>脑萎缩脱髓鞘</option> </select> <textarea name="zhengxiang" class="c" id="zhengxiang"></textarea><textarea name="yijian" class="c" id="yijian"></textarea>
展开
3个回答
展开全部
muban.php页面(前端):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>临床医学诊断查询</title>
<script language="javascript">
function getinfo(obj)
{
mbstr=obj.value;
dt="mbstr=" + mbstr;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (this.readyState==4 && this.status==200)
{
res= JSON.parse(this.responseText);
document.getElementById("zhengxiang").innerHTML=res[0].YxInfo;
document.getElementById("yijian").innerHTML=res[0].YjInfo;
}
}
xmlhttp.open("POST","mubanexec.php",true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send(dt);
return;
}
</script>
</head>
<body>
<select name="toubu" id="toubu" onchange="getinfo(this)">
<option selected="selected">头部</option>
<option>头部正常</option>
<option>脑萎缩</option>
<option>脑萎缩脱髓鞘</option>
</select>
<div><textarea name="zhengxiang" id="zhengxiang"></textarea></div>
<div></textarea><textarea name="yijian" id="yijian"></textarea></div>
</body>
</html>
mubanexec.php页面(后台处理):
<?php
header("Content-type: text/html; charset=utf-8");
$instr=$_POST["mbstr"];
$conn=new PDO("mysql:host=localhost;dbname=pacsdata","username","userpwd");
$sth=$conn->prepare("select YxInfo,YjInfo from moban where MbName=?");
$sth->execute(array($instr));
$res=$sth->fetchAll();
echo(json_encode($res,JSON_UNESCAPED_UNICODE));
?>
追问
谢谢你,有点眉目了,但试了很久,两个文本框还是没有动静。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这用ajax就行啊
大致给你写一下吧 仅供参考
<select name="toubu" class="b" id="toubu">
<option selected="selected" >头部</option>
<option >头部正常</option>
<option>脑萎缩</option>
<option >脑萎缩脱髓鞘</option>
</select>
<textarea name="zhengxiang" class="c" id="zhengxiang"></textarea>
<textarea name="yijian" class="c" id="yijian"></textarea>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$("#toubu").change(function(){
var value = $(this).find("option:selected").val();
//url 对应操作数据库的方法地址 返回msg 结果
$.ajax(url,{value:value},function(msg){
//msg 加判断 最否赋值给textarea
$("#zhengxiang").val(msg);
})
});
</script>
大致给你写一下吧 仅供参考
<select name="toubu" class="b" id="toubu">
<option selected="selected" >头部</option>
<option >头部正常</option>
<option>脑萎缩</option>
<option >脑萎缩脱髓鞘</option>
</select>
<textarea name="zhengxiang" class="c" id="zhengxiang"></textarea>
<textarea name="yijian" class="c" id="yijian"></textarea>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$("#toubu").change(function(){
var value = $(this).find("option:selected").val();
//url 对应操作数据库的方法地址 返回msg 结果
$.ajax(url,{value:value},function(msg){
//msg 加判断 最否赋值给textarea
$("#zhengxiang").val(msg);
})
});
</script>
追问
谢谢!
本人不是程序员,但是单位给了个不可能完成的任务,能否有劳你根据上述数据库信息,再写详细一点的代码,在此以高分相赠,谢谢
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
option里面少了value ,当选择了这个的时候得到这个value,使用ajax到后台去查询这个ID的值,返回这个前端,对应展示就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询