Re: access data in php - Mailing list pgsql-admin

From Marc Fromm
Subject Re: access data in php
Date
Msg-id B0D7C0A3F35FE144A70312D086CBCA9B0213E18FBF@ExchMailbox2.univ.dir.wwu.edu
Whole thread Raw
In response to Re: access data in php  (ioguix@free.fr)
List pgsql-admin
My results are missing the first record as you explained.

-----Original Message-----
From: ioguix@free.fr [mailto:ioguix@free.fr]
Sent: Friday, January 02, 2009 10:09 AM
To: Marc Fromm
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] access data in php



On Fri, 2 Jan 2009, Marc Fromm wrote:

> If I gather the sql results with this code $results =
> pg_query($dbconn,$query);
>  
> I can check if there is no returned data with this code $rows =
> pg_fetch_assoc($result);
>  
> but if I then use a while loop to display data (if there is data
> returned) with this code while ($row = pg_fetch_array($result)){ . . .
> }
>  
> I have to execute this code a second time before the while loop
> $results = pg_query($dbconn,$query);
>  
> If I do not execute the $results line a second time the while loop does not work properly.
>  
> Why is $results loosing its value when it hits the while loop?
>  
> Thanks
>  
> Marc

pg_fetch_assoc behave like pg_fetch_array: it increments the internal pointer to the current result.
So if you call it once, then pg_fetch_array will return the 2nd result in the result set.

You can either :
- use pg_fetch_assoc($result,0) whish shouldn't increment the internal pointer (no sure though, check
http://php.net/pg-fetch-assoc)
- seek back to the first result in the result set using pg-result-seek
(http://php.net/pg-result-seek)
- use pg_num_rows to get the number of rows in your result set.

Happy new year !
--
Guillaume (ioguix) de Rorthais


pgsql-admin by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: access data in php
Next
From: Marc Fromm
Date:
Subject: Re: access data in php