List Info

Thread: eval problem




eval problem
user name
2006-03-11 15:31:33
Hi Alain,

A bit more background: The associative PHP array is
actually the representation of a database row. As
such, it has many other fields besides act1, act2 etc.

Thats why I can't use the foreach loop.

Thanks,
Mike.

--- Alain Williams <addwphcomp.co.uk> wrote:

> On Sat, Mar 11, 2006 at 07:12:18AM -0800, Michael M
> wrote:
> > Hi, I need your help with the EVAL function.
> > 
> > In PHP I have a list of 27 fields, like this:
> > 
> > $advert['act1'] = 'foo';
> > $advert['act2'] = 'bar';
> > ...
> > $advert['act26'] = 'doo';
> > $advert['act27'] = 'da';
> > 
> > I know this smells like it should be an array, but
> for
> > particular reasons it is not. So the template
> looks
> > like this:
> > {$advert.act1}<br>
> > {$advert.act2}<br>
> > ...
> > {$advert.act26}<br>
> > {$advert.act27}<br>
> > 
> > Can I replace this with a loop? Something like:
> > {section name=foo start=1 loop=27}
> >  {eval
>
var="\$advert.act`$smarty.section.foo.index`"}
> > <br>
> > {/section}
> 
> What is wrong with:
> {foreach from=$advert item=ad }
>   {$ad}<br>
> {/foreach}
> 
> > The code above does not work, by the way. The line
> > {eval
>
var="\$advert.act`$smarty.section.foo.index`"}
> > produces:
> > $advert.act1
> > 
> > If I add braces:
> > {eval
>
var="{\$advert.act`$smarty.section.foo.index`}"
}
> > it displays:
> > {\.act1"}
> > 
> > So I must be missing something here.
> > 
> > Thanks,
> > Mike
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> > http://mail.yahoo.com 
> > 
> > -- 
> > Smarty General Mailing List
> (http://smarty.php.net/)
> > To unsubscribe, visit:
> http://www.php.net/unsub
.php
> > 
> 
> -- 
> Alain Williams
> Parliament Hill Computers Ltd.
> Linux Consultant - Mail systems, Web sites,
> Networking, Programmer, IT Lecturer.
> +44 (0) 787 668 0256  http://www.phcomp.co.uk/
> 
> #include <std_disclaimer.h>
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection
around 
http://mail.yahoo.com 

-- 
Smarty General Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub
.php

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )