好吧,所以我從SQL Server 2008通過PHP拉到一個作業的數據到一個HTML表格。每個工作都可以有多個任務。我使用1 while循環(以後稱爲'outer'while)以及另一個while循環在前一個循環的其中一個單元中顯示任務(在此處稱爲'inner'),以顯示每個作業我發現它退出'內部'while循環,但不會觸發'outer'while循環的下一輪。如果我註釋掉它的一切內容。儘管while循環內循環問題
$sql = "SELECT * FROM [euroJobSrv].[dbo].[Job],[euroJobSrv].[dbo].[Site]";
$result = dbQuery($sql);
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)){
$sql1 = "SELECT Task_Type FROM [euroJobSrv].[dbo].[JobTask] WHERE Task_Job_ID='".$row['Job_ID']."'";
$result1 = dbQuery($sql1);
$Site_Address = str_replace(',', ', <br>', $row['Site_Address']);
$days = $row['Job_Finish_Date'] - $row['Job_Start_Date'] + '1';
echo " <tr>
<th width=50> Job ID: </th>
<th width=50> Site Address:</th>
<th width=50> Start Date: </th>
<th width=50> Finish Date: </th>
<th width=50> Days: </th>
<th width=50> Overnight: </th>
<th width=50> Tasks: </th>
</tr>";
echo " <tr>
<td width=50>".$row['Job_ID']."</td>
<td width=50>".$Site_Address."</td>
<td width=50>".$row['Job_Start_Date']."</td>
<td width=50>".$row['Job_Finish_Date']."</td>
<td width=50>".$days."</td>
<td width=50>".$row['Job_Overnight']."</td>
<td width=50><ul>";
while ($row1 = sqlsrv_fetch_array($result1, SQLSRV_FETCH_ASSOC)){
echo "<li>".$row1['Task_Type']."</li>";}
echo" <ul></td>
<td><a href='include/job/modify.php?j=".$row['Job_ID']."'>modify</a></td>
</tr>";
}
可能的重複[PHP的問題嵌套mysql_fetch_array()讓我瘋狂](http://stackoverflow.com/questions/2277855/php-problem-with-nested-mysql-fetch-array-driving-me-瘋狂) – marcog 2011-02-01 21:30:34
sqlsrv驅動程序沒有相當於data_seek函數,這似乎是他的大部分類似示例的答案 – Rob 2011-02-01 21:34:59