2013-01-08 105 views
0

我需要一些關於嵌套sql查詢的最佳方法的建議。我寫了一個新的查詢來提供額外的信息,作爲一個獨立的查詢工作正常,但是當我嘗試把MoveNext();命令在原始之前,它會導致頁面加載失敗。我會在下面舉一個例子。while循環和MoveNext

$new_query = "SELECT new_values,new_price 
FROM new_table 
WHERE new_options_id = 2 
AND language = 1"; 

$new_result = $db->Execute($new_query); 
while (!$new_result->EOF){ 
$newdata = $new_result->fields['new_values'] 
$newprice = $new_result->fields['new_price']; 

$original_query = "SELECT * FROM this_table WHERE orders_id = '$ship_order_id' and class = 'ot_subtotal'"; 
$original_result = $db->Execute($original_query); 

SOME CODE IN HERE 

while (!$original_result->EOF) { 

MORE CODE HERE WITH SEVERAL { 

RESULTS OF ORIGINAL QUERY ARE OUTPUT 
RESULTS OF NEW QUERY ARE OUTPUT 

$new_result->MoveNext(); 
$original_result->MoveNext(); 

} 
} 

MORE CODE WITH CLOSING } FROM EARLIER CODE 

問題是,放入新的MoveNext()及其關聯}會殺死頁面加載。 我的確在着眼於將新查詢的數據收集包括在原始數據中,但我的SQL知識是有限的。 是否有其他解決方法,以便我可以循環訪問原始循環中的結果?

回答

0

如果您有多重查詢,則需要多個語句對象,否則,如果將第二個查詢重新使用前一個語句對象,您將刪除前一個語句的前一個結果。

只要介紹第二個語句對象,你應該沒問題。

此外,你不告訴你正在使用哪個數據庫客戶端庫,所以我不能給出任何具體的建議。

+0

使用MySQL5.1和PHP5.3 –

+0

是的,但是哪個客戶端庫?它不是你使用的語法中的'mysqli'和'PDO'。 – hakre

+0

看起來像某種PHP的ADO實現,可能是這一個OP http://phplens.com/adodb/ – Pankrates