日期:2014-05-17  浏览次数:20460 次

PHP遍历的问题?麻烦大家帮看一下。
我有个方法从mysql中取出一组数据,可是用while,for,foreach遍历出来的数据都多了,麻烦各位给看一下
1:取结果的方法
PHP code

function queryUserReport ( $userid ) {
            
            $resUserReportList = "" ;

            $queryUserReport = "Select reportId, userid, reportCheckId, email, createtime, constitutiontype From userreport Where userid = '".$userid."' " ;
            //echo "query:".$queryConstiutContent."<br>";

            $resUserReportList = $this->user_db->querySQL ( $queryUserReport ) ;
            
            if ($resUserReportList){
                $resUserReportList = $this->user_db->get_Array($resUserReportList);
                //print_r($resConstiutContent);
                return $resUserReportList ;
            } else {
                return $this->user_db->print_last_error(TRUE);
            }
            
            $this->user_db->Close() ;
            
        }


2:引用mysql的类
PHP code

 function querySQL($sql){
        $this->last_query=$sql;
        
        $result=mysql_query($sql);
        if (!$result){
            $this->last_error=mysql_error();
            return FALSE;
        }else {
            $this->row_count=mysql_num_rows($result);
            return $result;
        }
    }
    function get_Array($result){
        if (!$result){
            $this->last_error="Invalid resource identifier passed to get_Array() function.";
            return FALSE;
        }else {
            $row=mysql_fetch_array($result);
            if ($row==FALSE){
                $this->last_error=mysql_error();
                return FALSE;
            }else {
                return $row;
            }
        }
    }


3:取出的结果
PHP code

Array
(
    [0] => 3
    [reportId] => 3
    [1] => 414
    [userid] => 414
    [2] => 201209021468
    [reportCheckId] => 201209021468
    [3] => 
    [email] => 
    [4] => 2012-02-09 11:30:54
    [createtime] => 2012-02-09 11:30:54
    [5] => 1
    [constitutiontype] => 1
)



4:页面获取数据代码
PHP code

//获取数据
$arrayUserReportList = $dbConstituModel->queryUserReport($_SESSION['userid']);

while ( $arrayUserReportList = $arrayUserReportList ){
                        echo "<tr>";
                        echo "<td>".$arrayUserReportList['reportId']."&nbsp;</td>";
                        echo "<td>".$arrayUserReportList['createtime']."&nbsp;</td>";
                        echo "<td><a href=\"/constest/constitutionreport/myreport_".$arrayUserReportList['reportCheckId'].".html\" target=\"_blcnk\">查看报告</a>&nbsp;</td>";
                        echo "</tr>";
                    }



------解决方案--------------------
mysql_fetch_array 改成用mysql_fetch_assoc()
------解决方案--------------------
$arrayUserReportList = $dbConstituModel->queryUserReport($_SESSION['userid']);

echo "<tr>";
echo "<td>".$arrayUserReportList['reportId']."&nbsp;</td>";
echo "<td>".$arrayUserReportList['createtime']."&nbsp;</td>";
echo "<