2014-02-12 161 views
0

我正在做一個查詢,並用fetch_assoc()獲取結果,問題進入裏面,我做了另一個查詢與第一個查詢的結果,然後我做一個If語句來檢查如果有結果,它應該輸入,如果一次,但由於某種原因,它進入兩次,我無法弄清楚。這是代碼。PHP mysqli查詢結果顯示兩次

$query = "SELECT IDS,fecha_finalizacion,hora_finalizacion FROM subastas WHERE IDS NOT IN (SELECT IDS FROM subastas_finalizadas) AND Finalizada='S'"; 

if ($result = $db->query($query)) { 
    while ($row = $result->fetch_assoc()) { 
     $pujaNC = $db->query("Select IDS,ID_puja,fecha_noconfirm,hora_noconfirm FROM pujas_noconfirm WHERE IDS=" . $row['IDS'] ." ORDER BY monto asc limit 1"); 
    while ($rowPNC = $pujaNC->fetch_assoc()) { 
     $infoPNC=$rowPNC; 
    } 
    if($infoPNC){ 
     echo "BIDNC: ".$infoPNC['IDS']." ".$infoPNC['ID_puja']." <br/>"; 
    } 
    } 

} 

它應該顯示BIDNC:35 107,然後BIDNC爲空。

+0

所以,是的,我想我fugured它只是後我問的問題jaja,我是問如果(vairbale $)和varibale當然是從全第一個while循環,我用 - > num_rows,它工作正常我認爲 –

+0

你有你的信息變量在第一個while循環。把它移出來,它只會回顯一次 – TestUser1

回答

0

認爲你需要將你的,如果條件

if ($result = $db->query($query)) { 
    while ($row = $result->fetch_assoc()) { 
     $pujaNC = $db->query("Select IDS,ID_puja,fecha_noconfirm,hora_noconfirm FROM pujas_noconfirm WHERE IDS=" . $row['IDS'] ." ORDER BY monto asc limit 1"); 
     while ($rowPNC = $pujaNC->fetch_assoc()) { 
      $infoPNC=$rowPNC; 
     } 
    } 
    if($infoPNC){ 
     echo "BIDNC: ".$infoPNC['IDS']." ".$infoPNC['ID_puja']." <br/>"; 
    } 
} 
+0

是的,也是,但我用 - > num_rows intead,它效果更好 –