PHP+MySQL实现下拉框显示数据库信息
本帖最后由 kitttyfjy12 于 2012-05-20 17:18:03 编辑
Classroom research
CRMS - Classroom research
1、我希望在第一个框输入课室号,第二框通过下拉框显示数据库中course2表的CID的内容。
这应该就是不对的,毫无头绪,不知道怎么实现。求详细代码!
2、怎样实现填写其中一个数据(即不用填两个)就可以查询数据?
------解决思路----------------------仅供参考:
<br /><?php<br />/* Created on [2012-5-16] */<br />#查询标题信息<br />$sql="select * from table";<br /> $res=mysql_query($sql);<br /> if(!$res) die("SQL: {$sql} <br>Error:".mysql_error());<br /> if(mysql_affected_rows() > 0){<br /> $titles = array();<br /> while($rows = mysql_fetch_array(MYSQL_ASSOC)){<br /> array_push($titles,$rows);<br /> }<br /> }<br />?><br /><br /><table border=1><br /><?php foreach($titles as $row_Recordset_task){ ?><br /> <tr><br /> <td><br /> <a href="javascript:void(0)" onclick="record(<?=$row_Recordset_task['TID']?>)" ><br /> <?=$row_Recordset_task['csa_title']?><br /> </a><br /> </td><br /> </tr><br /><?php } ?><br /></table><br /><div id="show"></div><br /><br /><br /><form name="frm"><br /><select name="s1" onChange="redirec(this.value)"><br /> <option selected>请选择</option><br /> <option value="1">内科</option><br /> <option value="2">内科</option><br /> <option value="3">内科</option><br /></select><br /><div id="s2"></div><br /></form><br /><script><br />//Ajax<br />var xmlHttp;<br /><br /> function createXMLHttpRequest() {<br /> if(window.XMLHttpRequest) {<br /> xmlHttp = new XMLHttpRequest();<br /> } else if (window.ActiveXObject) {<br /> xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");<br /> }<br /> }<br /><br /> function record(id){<br /> createXMLHttpRequest();<br /> url = "action.php?id="+id+"&ran="+Math.random();<br /> method = "GET";<br /> xmlHttp.open(method,url,true);<br /> xmlHttp.onreadystatechange = show;<br /> xmlHttp.send(null);<br /> }<br /><br /> function show(){<br /> if (xmlHttp.readyState == 4){<br /> if (xmlHttp.status == 200){<br /> var text = xmlHttp.responseText;<br /> document.getElementById("s2").innerHTML = text;<br /> }else {<br /> alert("response error code:"+xmlHttp.status);<br /> }<br /> }<br /> }<br /></script><br /><?php<br />#action.php<br />if(isset($_GET['id'])){<br /> $sql="select * from table where id=".$_GET['id'];<br /> $res=mysql_query($sql);<br /> if(!$res) die("SQL: {$sql} <br>Error:".mysql_error());<br /> if(mysql_affected_rows() > 0){<br /> $arrMenu=array();<br /> while($rows = mysql_fetch_array(MYSQL_ASSOC)){<br /> array_push($arrMenu,$rows);<br /> }<br /> }<br /> mysql_close();<br /> if(!empty($arrMenu)){<br /> echo "<select name='menu2'>";<br /> foreach($arrMenu as $item2){<br /> echo "<option value='{$item2['id']}'>{$item2['name']}</option>";<br /> }<br /> echo "</select>";<br /> }<br />}<br /><br />?><br /><br />
登录后复制
------解决思路----------------------就这么简单,不需要上面那么复杂!!伱直接复制过去就可以用了。。。。
//require_once('conn.php'); //伱最好写个连接数据库的文件 每次包含一下就行了! 而且要写在最上面
//最好把下面三行写在conn.php文件里 以后每次用时 向上面那样包含一下就OK了!!
$con = mysql_connect("localhost","root","***") or die("错误信息:".mysql_error()); //连接
$db = mysql_select_db("表course2所在的数据库名"); //这个要不写就取不着数据 但不会报错
mysql_query("set names gb2312");
?>
无标题文档------解决思路----------------------搞这么复杂?script标签在代码底部加也行啊,只要有:
<br /><script><br />//Ajax<br />var xmlHttp;<br /><br /> function createXMLHttpRequest() {<br /> if(window.XMLHttpRequest) {<br /> xmlHttp = new XMLHttpRequest();<br /> } else if (window.ActiveXObject) {<br /> xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");<br /> }<br /> }<br /><br /> function record(id){<br /> createXMLHttpRequest();<br />//指定目标地址及参数<br /> url = "action.php?id="+id+"&ran="+Math.random();<br /> method = "GET";<br /> xmlHttp.open(method,url,true);<br /> xmlHttp.onreadystatechange = show;<br /> xmlHttp.send(null);<br /> }<br /><br /> function show(){<br /> if (xmlHttp.readyState == 4){<br /> if (xmlHttp.status == 200){<br />//回调函数,返回的后端结果<br /> var text = xmlHttp.responseText;<br /> document.getElementById("s2").innerHTML = text;<br /> }else {<br /> alert("response error code:"+xmlHttp.status);<br /> }<br /> }<br /> }<br /></script><br />
登录后复制
能运行就行