2013-01-18 38 views
0

我想要做這樣的事情:如何重置結果集,以便我可以再次循環它?

$select = "select some_fiels from some_table"; 

$result = mysql_query($select); 

    if (mysql_num_rows($result) > 0) 
    { 
       $rows = array(); 
       while($r = mysql_fetch_assoc($result)) 
       { 
       $rows[] = $r; 
       } 

       echo json_encode($rows); 

       // THIS IN ORDER TO EXTRACT THE VARIABLE VALUE FOR USE LATER IN THE SCRIPT 
      while($row = mysql_fetch_assoc($result)) 
     { 
     $creator_member_id = $row['creator_member_id']; 
     } 
    } 

但我不知道什麼是重新設置$結果變量的最佳方式。還是需要重置?我將這個值提取到$ creator_member_id變量中的最佳方式是什麼?

謝謝!

+2

'mysql'-擴展名已過時,現在暫未保留。使用PHP5.5時,它將被標記爲「已棄用」。使用'PDO_MYSQL'或'MySQLi'。 http://php.net/en/mysql-connect – KingCrunch

+1

你已經在'rows'中得到了結果,只是遍歷它。 – Musa

+0

@Musa你會知道這應該是什麼樣子,因爲數組中的項目不是簡單的項目,而是mysql的鍵值結果? – Genadinik

回答

1

如果您想保留以前的結果,只需將查詢轉換爲不同的數組。

$ result2 = mysql_query($ select);

if (mysql_num_rows($result2) > 0) 

如果你解釋你試圖查詢但正如我想你可能會做更多的查詢比實際需要做這將有助於。

+0

你是什麼意思查詢到不同的數組?那看起來怎麼樣? – Genadinik

+0

我爲你編輯原創。 –

+0

啊所以你的意思是做兩個查詢?有沒有辦法只保留一個查詢? – Genadinik

相關問題