2013-03-06 2 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 -the-first-row-in-php) – Tchoupi

+0

Для начала библиотека 'mysql_' устарела. –

ответ

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; 
    } 
?> 
Смежные вопросы