2016-03-11 261 views
1

我試圖抓取所以我可以打印在我的桌子上。但問題是,代碼只在while while循環中運行。在獲取表中的所有行之後,它停在那裏。PHP while while循環不進行第二個while循環

`假設我有我的tblUnit

while ($r = $q->fetch(PDO::FETCH_ASSOC)) { 
    echo " <script type'text/javascript'> alert('1');</script>"; 
    $unitStatus = $r['unitStatus']; 
    $unitNumber = $r['unitNumber']; 
    $floorNumber = $r['floorCode']; 
    $unitType = $r['unitType']; 
    $t = $db->query("select floorLevel from tblFloors where floorID = $floorNumber"); 
    $w = $db->query("select unitTypeName from tblUnitType where unitTypeID = $unitType"); 
    while ($u = $t->fetch(PDO::FETCH_ASSOC)) { 
     echo " <script type'text/javascript'> alert('2');</script>"; 
     $floorLevel = $u['floorLevel']; 
     while ($x = $w->fetch(PDO::FETCH_ASSOC)) { 
      echo " <script type'text/javascript'> alert('3');</script>"; 
      .... 
      ... 
      .. 
     } 
    } 
} 

5行輸出(In alert box):

1 
1 
1 
1 
1 

我使用MS SQL Server以我的數據庫。

+2

這麼多的嵌套'while's。 。你確定,一個使用'JOIN'的查詢不會簡化這個嗎? – kero

回答

2

可能是一個字符串evalueting問題嘗試thsi方式

$t = $db->query("select floorLevel from tblFloors where floorID = " . $floorNumber .";");        
$w = $db->query("select unitTypeName from tblUnitType where unitTypeID = " . $unitType . ";"); 

$t = $db->query("select floorLevel from tblFloors where floorID = '$floorNumber' ;");  

否則,你的$ floorNumber不包含aspected結果

+0

謝謝!在我的數據庫中,沒有記錄「floorID」的匹配值。 – Jerlon