2013-03-06 102 views
0

我執行這樣的查詢(PHP + MySQL的)後,如何再利用,導致變量:執行MySQL查詢

$query = "SELECT * FROM tablename WHERE 1"; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result)) 
{ 
    // PHP Statement 
} 

我想在同一頁上再次使用相同的結果,那麼我需要再次執行查詢,如下所示:

$query = "SELECT * FROM tablename WHERE 1"; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result)) 
{ 
    // PHP Code 
} 

然後它工作。但如果我只用

while($row = mysql_fetch_array($result)) 
{ 
    // PHP Code 
} 

然後它不起作用。有沒有其他方法可以在同一頁面上多次使用結果,而無需每次都執行查詢?

我知道我可以使用相同的結果來創建一個數組。但有沒有其他方法?

+0

可能重複[如何MySQL的指針重置回在PHP中的第一行?](http://stackoverflow.com/questions/3817997/how-to-reset-mysql-pointer-back-to -PHP中的第一行) – Tchoupi 2013-03-06 18:56:05

+0

開始時,不推薦使用mysql_'庫。 – 2013-03-06 19:02:31

回答

0

我相信mysql_data_seek會爲你做這個。

<?php 
function mysql_pointer_position($result_set) { 
     $num_rows = mysql_num_rows($result_set); 
     $i = 0; 
     while($result = mysql_fetch_array($result_set)) { 
      $i++; 
     } 
     $pointer_position = $num_rows - $i; 

//Return pointer to original position 
     if($pointer_position <= $num_rows - 1) { 
      mysql_data_seek($result_set, $pointer_position); 
     } 
     return $pointer_position; 
    } 
?>