My results are missing the first record as you explained. -----Original Message----- From: ioguix@xxxxxxx [mailto:ioguix@xxxxxxx] Sent: Friday, January 02, 2009 10:09 AM To: Marc Fromm Cc: pgsql-admin@xxxxxxxxxxxxxx Subject: Re: 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 -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin