ホームページ  >  記事  >  バックエンド開発  >  PHP トラバーサルについて質問がありますか?見てみるのを手伝ってもらえますか?

PHP トラバーサルについて質問がありますか?見てみるのを手伝ってもらえますか?

WBOY
WBOYオリジナル
2016-06-13 13:46:52904ブラウズ

PHPトラバーサルの問題?見てみるのを手伝ってください。
mysql から一連のデータを取得するメソッドがありますが、while、for、foreach を使用してデータを走査するのは多すぎます。
1: 結果を取得するメソッド

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
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 highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
 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
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
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: ページ取得データ code
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

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

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



-------解決策---- --- -------------
mysql_fetch_array は mysql_fetch_assoc() に変更されます
------解決策------------------
$arrayUserReportList = $dbConstituModel->queryUserReport($_SESSION['userid']);

echo "";
echo "".$arrayUserReportList['reportId' ]." ";
echo "".$arrayUserReportList['createtime']." ";
echo " レポートの表示 ";
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。