好吧,所以我从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