Skip site navigation (1) Skip section navigation (2)

Re: Getting arrays from a result set?

From: Louis Bertrand <louis(at)bertrandtech(dot)on(dot)ca>
To: The Hermit Hacker <scrappy(at)hub(dot)org>
Cc: pgsql-php(at)postgresql(dot)org
Subject: Re: Getting arrays from a result set?
Date: 2000-08-28 03:30:28
Message-ID: Pine.BSO.4.20.0008272326510.13532-100000@grendel.bts (view raw or flat)
Thread:
Lists: pgsql-php
The way the session table is set up, I have one record per active
session. When the user comes back for another hit, I retrieve the session
particulars contained in the record based on the sessionID presented in
the GET URL or hidden field in the POST. The sessionID is the primary key.

I suppose I could create a separate table of pending transactions, with
a sequence to keep them in order, referencing the sessionid.
Is that along the lines of what you were suggesting?

Thanks
 --Louis  <louis(at)bertrandtech(dot)on(dot)ca> 


On Mon, 28 Aug 2000, The Hermit Hacker wrote:

> 
> why not insert multiple records instead, serialized for order?  
> 
> On Sun, 27 Aug 2000, Louis Bertrand wrote:
> 
> > Hello,
> > 
> > I am trying to save an array of strings in a column, but I can't figure
> > out how to retrieve it from within PHP3. What I'm hoping to accomplish is
> > to store a sequence of update SQL statements resulting from a posted form,
> > then output a Confirm (Yes/No) form. If the user clicks Yes, I retrieve
> > the SQL statements from the session table and execute them in a
> > transaction.
> > 
> > I added the column:
> >  alter table sessions add column pending varchar(240)[];
> > 
> > db=> \d sessions
> > | pending    | varchar[]  | var |
> > 
> > I insert the strings with:
> >  db=> update sessions set pending = '{ \'blah\', \'blorg\'}' where
> >  sessionid = 'f38ca9c5f28fd13bd9619b13b5d8f2fc';
> >  UPDATE 1
> > 
> > Then the select:
> >  db=> select pending from sessions where sessionid =
> >  'f38ca9c5f28fd13bd9619b13b5d8f2fc';
> >  {" 'blah'","'blorg'"}
> >  (1 row)
> > 
> > Then I do the following PHP code:
> >  $selectsql = "SELECT pending"
> >              ." FROM sessions WHERE"
> >              ." sessionid = '$SessionID'";
> >  $result = @pg_Exec( $conn, $selectsql);
> >  if( $result && ( pg_NumRows($result) > 0)) {
> >      $transactions = pg_Result( $result, 0, "pending");
> >      echo "<br>pending=" . $transactions;
> >  }
> >  else {
> >      echo "<br>No transactions";
> >  }			}
> > 
> > This is what I get:
> >  pending={" 'blah'","'blorg'"}
> > 
> > I suppose I can always tokenize and parse the string, but I'm hoping there
> > is a classier way around this. I'm afraid of using temporary tables
> > because I don't want them cluttering the database when users abandon their
> > sessions.
> > 
> > Using PHP3.0.16 and PostgreSQL 6.5.2 on OpenBSD (no, I haven't had time to
> > upgrade yet).
> > 
> > Any thoughts?
> > 
> > Thanks
> >  --Louis  <louis(at)bertrandtech(dot)on(dot)ca> 
> > 
> > Louis Bertrand       http://www.bertrandtech.on.ca/
> > Bertrand Technical Services, Bowmanville, ON, Canada  
> > Tel: +1.905.623.1500  Fax: +1.905.623.3852
> > 
> > OpenBSD: Secure by default.  http://www.openbsd.org/
> > 
> > 
> 
> Marc G. Fournier                   ICQ#7615664               IRC Nick: Scrappy
> Systems Administrator @ hub.org 
> primary: scrappy(at)hub(dot)org           secondary: scrappy(at){freebsd|postgresql}.org 
> 
> 


In response to

Responses

pgsql-php by date

Next:From: The Hermit HackerDate: 2000-08-28 03:35:04
Subject: Re: Getting arrays from a result set?
Previous:From: Louis BertrandDate: 2000-08-28 03:15:11
Subject: Getting arrays from a result set?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group