0

私はこのようなクエリを実行しています(PHP + 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
}

その後、それは動作しません。毎回クエリを実行せずに、同じページで結果を何度も使用する他の方法はありますか?

同じ結果を使用して配列を作成できることはわかっています。しかし、他の方法はありますか?

4

1 に答える 1

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;
    }
?>
于 2013-03-06T18:59:01.767 に答える