|
Posted by jflash on 10/08/06 18:46
OK, I am now fairly thoroughly confused. What I am asking is for a way
to have a page which can display information from a database filtered
and/or sorted based on arguments supplied by the user in the URL. I
wish I could explain it better, but that's the best way I know how.
Anything else that I need to know, I suppose I can figure out later.
Right now, I'm just trying to get the sorting/filtering down.
On Oct 8, 11:19 am, "Ron Barnett" <ron.REM...@RJBarnett.co.uk.REMOVE>
wrote:
> "Colin Fine" <n...@kindness.demon.co.uk> wrote in messagenews:egalj3$lfp$1$8302bc10@news.demon.co.uk...
>
> > jflash wrote:
>
> >>> On Oct 7, 11:11 am, usenet+2...@john.dunlop.name wrote:
>
> >>>> jflash:
> >>>>> I am wanting to set my site up using dynamic urlsWhy?
> >>>> At least you are thinking about URL design before publishing your
> >>>> pages: that puts you ahead of the masses. Retrospective URL design
> >>>> is, in a word, iffy.
> >>>>> (I'm assuming that's what they're called, an example of what
> >>>>> I have in mind is index.php?page=[pagename]).'Dynamic URL' is a
> >>>>> misleading though common term for URLs with query
> >>>> parts. Misleading because there is nothing dynamic about URLs. That
> >>>> example, we can say, is a relative reference consisting of a path and a
> >>>> query part (square brackets aren't allowed in query parts). Nothing
> >>>> more. What the server does with that URL is up to you, but the URL,
> >>>> the string of characters, is not dynamic.
> >>>> Couple of points on your example:
> >>>> 1. "Indexes" rarely are indexes. Are you sure there isn't a better
> >>>> name? No name, even?
> >>>> 2. URL suffixes, unless you see the URL as pointing to a particular
> >>>> representation of the resource, serve no purpose. It is generally of
> >>>> no consequence to users whether you use PHP or some other language to
> >>>> create your pages.
> >>>>> However, I can not figure out how to do this.I think another poster
> >>>>> has suggested one way.
> >>>>> I will eventually want to use SEF urls,I can guess what you mean by
> >>>>> that, but again I think the term is
> >>>> misleading.
> >>>> --
> >>>> Jock
>
> > > I forgot to mention one thing: how can I use this setup to call
> > > information from a database. For example, I've seen this done where the
> > > search query from a search on a site is entered into the URL and is
> > > then searched for in the database. HOw, then, is this done if all of
> > > the 'redirects' (for lack of a better word) have to be predefined?
>
> > > On Oct 7, 5:10 pm, "jflash" <ki4...@gmail.com> wrote:
> > >> Ron: I assume that I simply add that code to my 'initial' page
> > >> (index.php in the example I started with). However, I am curious how I
> > >> define a default page to load (i.e. in my index.php example, how would
> > >> I specify what page to include/what content to display in the event
> > >> that no parameters are entered)? Also, do I have to manually add each
> > >> page for the parameter to include in the file, or is there some way
> > >> that I can use a database for the list of parameters and their
> > >> corresponding pages?
>
> > >> Jock:
>
> > >> 1. I had originally thought I could use dynamic URLs to pull content
> > >> from a database and display it on a page based on the parameters
> > >> defined in the URL. In any case, I hope that using the dynamic URLs
> > >> will make it easier for my users, particularly once I get search-engine
> > >> friendly URLs set up.
>
> > >> 2. Actually, I already have a version of my site up, I mainly am doing
> > >> this because I am dooing a major overhaul for various other reasons,
> > >> and since I have been wanting to implement this for a while now, it
> > >> seems like a good time to do it.
>
> > >> 3.1. I don't get what you're saying. I wasn't planning on using
> > >> index.php as the base file name, I just used it for an example.
> > >> Actually, now that you say it, I'm thinking I might use the 'index.php'
> > >> part of the URL to serve as a category, then define the specific page
> > >> later. I don't know, I'll decide that later.
> > >> 3.2. I'm just using PHP because I know for a fact my server supports
> > >> it, and I see no reason to try anythign else and risk a lack of support
> > >> on the server end of things.
>
> > >> Thanks for the help!
>
> > [Top posting fixed]
>
> > I don't fully understand what you are asking, but it seems to me that you
> > have an imperfect understanding of how CGI works.
>
> > A CGI script (such as a PHP program on a website) is a program that
> > generates as output the HTML that the web server will send to the browser.
>
> > Usually, the script takes arguments from the URL (usually the part after
> > the '?') to decide what to display, and very often it will obtain some of
> > the data on the page from a database.
>
> > Often, the script is capable of producing utterly different pages
> > depending on the input: for example, many CGI scripts display information
> > relating to a particular key in the database (a particular site, person,
> > company, date or whatever) and if called without the key will display a
> > different page that asks the user to specify the key. Then the 'Submit'
> > from that will go to the *same* script, but this time with the data it
> > needs.
>
> > If the URL has no CGI arguments, the program must cope with that case and
> > do something appropriate, for example request the information intneeds as
> > in the previous paragraph.
>
> > If you want not just to generate distinct pages, but to go to different
> > existing pages, you can do it by generating a HTTP header that redirects
> > to the appropriate page.
>
> > Does this help, or have I misunderstood your issue?
>
> > ColinHi Jock,
>
> The explanation Colin has given is absolutely correct but I suspect you are
> still floundering ?
>
> referring back the code example I gave
>
> $page = $_REQUEST['page'];
> if ($page == 'pageone') include './lib/pageone.php';
>
> This needs to be inserted as you guessed in index.php
> calling index.php with a parameter 'page' i.e. //index.php?page=something
> will cause the $_REQUEST array to contain an element 'page' with a value
> 'something'
> having extracted the key / value pair from the array it as in the example
> you can do whatever you like with the 'something' - you can simply haul in
> another static page, or call a routine that uses 'something' as the key to
> extract data from a database.
> the absence of a parameter is simply the default call for the page
> index.php, so I would assume that it was a screen with some data entry that
> would then be used in a subsequent call. - All this is simple HTML / HTTP
> and not really PHP at all.
>
> Cheers
>
> Ron
Navigation:
[Reply to this message]
|