resetting pg_fetch_array
| From: | Dave O | Date: | Tue, 22 Feb 2005 16:01:34 +0000 |
| Subject: | resetting pg_fetch_array | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-209180@lists.php.net to get a copy of this message | ||
Hi all. I'm been trying the following code for the past day or so and I can't seem to get around it. I'm issuing a query to pgsql and iterating through the results twice in order to facilitate the separation of shipment history.
Below is the simplest example I can come up with. The results only display once, even though I'm not issuing any other db calls after the 1st iteration and the resouce id remains the same. Heck, even pg_num_rows returns the same result twice, but the results just won't display a second time.
I'm running this on freebsd 5.3 using pgsql v8 and php 4.3.10. Anybody got any suggestions. TIA.
Dave
table looptest
rownum | rowstr
--------+--------
1 | aaaaaa
2 | bbbbbb
3 | cccccc
4 | dddddd
include ('connection.inc.php');
$sql = "SELECT rownum, rowstr FROM looptest";
$result = pg_query($conn, $sql);
$c=2;
$x=0;
echo "<pre>\n";
while ($x<$c)
{
echo pg_num_rows($result) . "->";
print_r($result);
echo "\n\n";
reset($result);
while($row = pg_fetch_array($result))
{
echo $row["rownum"] . " -> " . $row["rowstr"] . " \n";
}
echo "====================================\n";
$x++;
}
echo "</pre>\n";
----------------------------------
results
----------------------------------
4->Resource id #4
1 -> aaaaaa
2 -> bbbbbb
3 -> cccccc
4 -> dddddd
====================================
4->Resource id #4
====================================