需求:
我已知用户ID,根据用户ID查询该用户的相关信息,后台SQL语句已经写好,现在是在逻辑层中通过节点方式将数据填充到XML中,然后再通过前段JS代码取得数据,  麻烦请各位牛牛们帮我看下我写的这个逻辑层代码有什么问题,
// 引用数据库处理文件
require_once "../../DBHandle/DBHandle/DBUser.php";$lefNav = $_REQUEST ["lefNav"];
$action = $_REQUEST ["action"];
if ($lefNav == "userinfo") {
if (action == "init") {
$userId = $_REQUEST ['user_id'];
$rs = DBUser::getUserInfoByID ( $userId );
if ($rs) {

// 将查询出来的用户信息结果放置到XML中传到前段
$doc = new DOMDocument ( "1.0", "utf-8" );
$doc->appendChild ( $doc->createElement ( "xml" ) );

$userNode = $doc->createElement ( "rs" );

$userId = $doc->createElement ( "userId" );
$userIdTx = $doc->createTextNode($rs[0]);
$userId->appendChild($userIdTx);

$name = $doc->createElement ( "name" );
$nameTx = $doc->createTextNode($rs[1]);
$name->appendChild($nameTx);

$rname = $doc->createElement ( "rname" );
$rnameTx = $doc->createTextNode($rs[2]);
$rname->appendChild($rnameTx);

$gname = $doc->createElement ( "gname" );
$gnameTx = $doc->createTextNode($rs[3]);
$gname->appendChild($gnameTx);

$userNode->appendChild($userId);
$userNode->appendChild($name);
$userNode->appendChild($rname);
$userNode->appendChild($gname);

$doc->documentElement->appendChild($userNode);
echo $doc->saveXML();

} else {
echo "FAIL";
}
}
}
   

解决方案 »

  1.   

    这个是后台数据查询的方法; 
    /**
    *根据用户序号查询用户基本信息
    */
    public static function getUserInfoByID($user_id){
     $conection = DBCommon::initSQL();
     if ($conection != FALSE) {
                $strSQL = "select user.ID,user.Name,user.Password,user.RealName,group.GroupName
    from user,`group` where user.ID='$user_id' and group.ID=user.ID";
                $rs = mysqli_query($conection, $strSQL);
                if ($rs == FALSE || $rs == NULL) {
                    return 0;
                } else {
                  $result = "";
                }
            } else {
                return 0;
            }
            DBCommon::terminateSQL();
    }
      

  2.   

    PHP与XML的相互转换封装函数:xmlparse.phpinclude(dirname(__FILE__)."/xmlparse.php");
    $listtags = explode(" ","2 name");
    $arr = array(1,"name"=>"SOM","admin",100,array("name"=>"TOM","Lily"));
    $contXML = dump_xml_config($arr, "xml", "utf-8");
    //放入文件
    //file_put_contents_safe("/path/test.xml",$contXML,"w");
    echo $contXML;
    #源码
    #<?xml version="1.0" encoding="utf-8"?>
    #<xml>
    # <0>1</0>
    # <name>SOM</name>
    # <1>admin</1>
    # <2>100</2>
    # <3>
    # <name>TOM</name>
    # <0>Lily</0>
    # </3>
    #</xml>
      

  3.   

    我的问题是 麻烦大家帮我看下我写的那段代码有什么问题没,为什么我在JS中娶不到数据;
    是我的节点有问题还是后天数据查询方法有问题,    if (action == "init") 写错了是
    if ($action == "init") 
      

  4.   

    就这么点代码,你直接执行打印看看XML是不是对的,是对的那就是JS问题。
      

  5.   

    JS端调用就这段代码,不管怎么搞 都是爆ERROR
    Logics/LgUser/LgUser.php这个就是上面发的那个生成XML代码文件路径
    function ajaxPage1(lefNav, action, pageIndex, pageCount) {
     $.ajax({
            type : "POST",
            url : "../../Logics/LgUser/LgUser.php",
            dataType : "XML",
            data : "lefNav=" + lefNav + "&action=" + action
        }).done(function(data) {
            //若AJAX发送请求成功,则进行数据封装

        }).fail(function() {
    alert("ERROR!!!!!!!!");
            //alert("数据初始化查询失败,请联系系统管理员!");
        });
       
    }