请高手看看以下代码错在什么地方了?

chengcharect 2010-07-21 09:33:55
	<script type="text/javascript" language="javascript">
var browse="";

function enableChoic(id){
document.getElementById(id).disabled = false;
}

//创建ajax
function GetXmlHttpObject() {
var xmlHttp=null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}catch (e) {
//Internet Explorer
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

function changeSubject(_slt){
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
alert ("浏览器无法返回ajax对象!");
return;
}

var url="user_xml.php?users=" + _slt.value;
alert(url);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

//用于解决IE读取xmDoc与FF不同
function loadXMLString(txt){
try{//Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
return(xmlDoc);
}catch(e){
try{//Firefox, Mozilla, Opera, etc.
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
return(xmlDoc);
}catch(e) {
alert(e.message)
}
}
return(null);
}

function stateChanged(data){
var user_science = document.getElementsByName("user_science")[0];
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
if (xmlHttp.status == 200) {
var xmlDoc = loadXMLString(xmlHttp.responseText);
$("#s2>option:gt(0)").remove();//清空除第一项除外的option
// //解析XML
var root=xmlDoc.getElementsByTagName('row');
for (var i=0; i<root.length; i++){
var value = root[i].getElementsByTagName("value")[0].childNodes[0].nodeValue;
var text = root[i].getElementsByTagName("text")[0].childNodes[0].nodeValue;
$("#s2").get(0).options.add(new Option(text,value));
}
}
}
}
</script>
<form action="user_search_sql.php" method="post">
<ul>
<li><!--<input type="checkbox" id="chk_1" name="s_grade" checked="true" onclick="enableChoic('s1')">年 级-->
<select name="user_grade" onchange="changeSubject(this);">
<option value="">--选择入学年份--</option>
<?php
$login_sql = "select * from klm_users group by user_grade";
$result = $db->query ( $login_sql );
while ( $row = $db->fetch_array ( $result ) ) {
?>
<option value="<?php echo $row ['user_grade']; ?>"
<?php
if ($row ['user_grade'] == $typeid) {
echo "selected";
}
?>
><?php echo $row ['user_grade']; ?></option>
<?php
}
?>
</select></li>
<li> <!--<input type="checkbox" id="chk_2" name="s_science" onclick="enableChoic('s2')">专 业-->
<select ID="s2" name="user_science" SIZE="1">
<option value="">--选择专业--</option>
</select></li>
<li> <!--<input type="checkbox" id="chk_3" name="s_class" onclick="enableChoic('s3')">班 级-->
<select ID="s3" name="user_class" SIZE="1">
<option value="">--选择班级--</option>
</select></li>
<li><input type="submit" class="btn_2" value="点击查询"></li>
</ul>
</form>

user_xml.php
<?php
include_once ('admin_global.php');
header ( 'Content-Type:text/xml; charset=gbk' );
if ($_GET ["users"]) {
$login_sql = "select * from klm_users where user_grade=" . $_GET ["users"];
echo $login_sql;
$result = $db->query($login_sql);
$xml = "<?xml version=\"1.0\"?><rows>";
while ( $row = $db->fetch_array ( $result ) ) {
$xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
}
$xml .= "</rows>";
echo $xml;
}

exit ();
?>
...全文
127 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyzy_yy_pm 2010-07-21
[Quote=引用 11 楼 chengcharect 的回复:]
Notice: /klmexam/admin/user_xml.php line 20 - Undefined variable: xml
[/Quote]

$xml = "<?xml version=\"1.0\"?><rows>";
while ( $row = $db->fetch_array ( $result ) ) {
$xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
}
$xml .= "</rows>";
echo '<root>'.$xml.'</root>';
回复
kyzy_yy_pm 2010-07-21
$xml = "<?xml version=\"1.0\"?><rows>";
while ( $row = $db->fetch_array ( $result ) ) {
$xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
}
$xml .= "</rows>";
echo '<root>'.$xml.'</root>';
回复
chengcharect 2010-07-21
[Quote=引用 10 楼 kyzy_yy_pm 的回复:]
echo $xml = $header.$xml.$end;//看看
[/Quote]
Notice: /klmexam/admin/user_xml.php line 20 - Undefined variable: xml
回复
kyzy_yy_pm 2010-07-21
echo $xml = $header.$xml.$end;//看看
回复
chengcharect 2010-07-21
T.T没人高手来帮帮忙么?
回复
chengcharect 2010-07-21
按照楼上的做法.XML还是报错
XML 文档必须有一个顶层元素。处理资源 'http://localhost:81/klmexam/admin/user_xml.php' 时出错。
回复
kyzy_yy_pm 2010-07-21
没有最终父节点
回复
kyzy_yy_pm 2010-07-21
$header = "<root>"
$end = "</root>";
while ( $row = $db->fetch_array ( $result ) ) {
$xml .= "<row><value>" . $row ["user_grade"] . "</value><text>" . $row ["user_science"] . "</text></row>";
}

$xml = $header.$xml.$end;
回复
chengcharect 2010-07-21
单独访问user_xml.php的时候页面报错.
XML 文档必须有一个顶层元素。处理资源 'http://localhost:81/klmexam/admin/user_xml.php' 时出错。

回复
kyzy_yy_pm 2010-07-21
user_xml.php中将while换成

while ( $row = $db->fetch_array ( $result ) ) {
echo '<pre>';print_r($row);echo '<br>';
}
看看数据
回复
xuzuning 2010-07-21
请说明你遇到了什么问题!

回复
chengcharect 2010-07-21
XML的内容取不出来.就是二级和三级菜单取不到.求高手解答.跪谢
回复
kyzy_yy_pm 2010-07-21
什么错误说出来
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告