2014-02-12 48 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,它效果更好 –