On Tue, 2009-10-27 at 11:39 +0000, MEM wrote:

> >That sounds about right yeah. You could also get a little bit clever and 
> >only retrieve the rows from your db that >will go to make the array elements 
> >you'll need. It doesn't make sense to retrieve a full product list each time 
> >>someone visits the page, 
> Ok. 
> >so you only need to retrieve those that the user is interested in, which is 
> >shown by what they click on.
> The relation between click and the display of the corresponded array child 
> elements, without using js, is the hardest to understand:
> The user will click on a link / the URL will change / the new page will be 
> loaded to the user / the information displayed on that page should be related 
> with the element clicked on the first step. 
> So, the next page, should know what we have clicked before, in order to 
> display the information accordingly. 
> One of the ways that this can be done, is by passing params over the URL. The 
> URL param will tell us what element have we clicked, so it should be based on 
> URL. Once we have that, we need to ask: as that value passed on the url a 
> correspondent array element that contains children? If so, display them. 
> (I realize my incapacity of talking technically, by referring to "pages" and 
> other odd entities. I'm sorry for that).
> Does the above makes any sense?
> Thanks a lot, 
> Márcio

Think of it a bit like an online shop selling operating systems:

1) All the main OS's you sell are on the front page - Linux, MacOS &
2) User clicks on Linux, and is taken to the url /products/linux and
they are shown all the Linux OS's on offer (Fedora, SuSe, Ubuntu,
Knoppix, etc)
3) User clicks on Fedora and is taken to the URL /products/linux/fedora
and they are shown all the versions of Fedora up to 11
4) etc

The URL belies what section you are on, which makes it easy for the user
to remember, and easy for you to extract information from to know
exactly where the user is. Obviously in the above URLs I'm assuming
mod_rewrite is being used.


Reply via email to