[ic] perl problem with $Tag->set...
Stefan Hornburg
interchange-users@icdevgroup.org
Sat Mar 8 20:15:01 2003
On Sat, 8 Mar 2003 19:50:51 -0500
JOHN <java02@ureach.com> wrote:
> > "Chris Snow" <snowch@care4pcs.com> wrote:
> >
> > > I am trying to run some decode a variable for input to an
> sql query. I
> > > can't get it to work. Can anyone please give me some
> pointers?
> > >
> > >
> > > [perl]
> > > $name="sm_type";
> > > if ($Tag->cgi($name) == 1) { $BODY="Aural" };
> > > if ($Tag->cgi($name) == 2) { $BODY="Piano Trio" };
> > > if ($Tag->cgi($name) == 3) { $BODY="String Trio" };
> > > if ($Tag->cgi($name) == 4) { $BODY="Ensemble with
> wind" };
> > >
> > > $name="sm_fulltype";
> > > $Tag->set($name, $BODY);
> > > [/perl]
> > >
> > > [query sql="select sku, description, price from products
> where
> > > prod_group='sheet music' and category='[value sm_fulltype]'
> order by
> > > category2;"
> >
> > You don't need to use $Tag to access the different
> namespaces, try
> > $CGI->{$name}, $Scratch->{$name}, $Values->{$name}. set
> applies to
> > the scratch namespace, so your code is determined to break.
> >
>
> why is that determined to break? isn't it the same thing? I
> still dont know enough about IC. This is just a question.
I recommend to figure out the different namespaces and their
accessor tags from the documentation.
WRT your code (not tested):
[calc]
@stuff = ('', 'Aural', 'Piano trio');
$Values->{sm_fulltype}=$stuff[$CGI->{sm_type}];
''
[/calc]
should work with your query.
Bye
Racke