dongtao1262 2012-05-09 21:20
浏览 221
已采纳

多次运行while($ row = sqlsrv_fetch_array($ result))

I am retrieving a couple of tables from a MSSQL database, which I am then running through to obtain order information from.

My code looks like this:

    while($row = sqlsrv_fetch_array($orderResult))
    {
        ......code........
        ..................
        while($statusRow = sqlsrv_fetch_array($statusResult))
        {
            ....code....
        }
        ....code....
    }

Now my problem is that after the second loop runs through, it never runs again. And I need it to run every time the first loop runs.

Is there anything I can do to reset that second loop to run again?

Thank you in advance. Any help or a push in the right direction will be very helpful.

  • 写回答

4条回答 默认 最新

  • dongyuntao2000 2012-05-09 21:31
    关注

    Read about the other parameters in sqlsrv_fetch_array()

    You can do something like this to reset

    // reset, and get first row
    $row = sqlsrv_fetch_row($result, SQLSRV_FETCH_BOTH, SQLSRV_SCROLL_FIRST);
    
    // get second (and nth row) normally
    $row = sqlsrv_fetch_row($result);
    

    Alternatively, I think you could benefit from doing a JOIN in your query to return a single result. Merging results manually like this seems a little hackish.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?