| | |
|
|
|
Need Advice on Animals Database Index Function |
| message from David B on 21 Jul 2004 |
I'm working on a database-driven website focusing on mammals. I put a
sample page online at http://mammals.geozoo.org/car/index.php
If you click "Page Index" in the top left corner, a menu will open
featuring ten items (Introduction, Home, Diet, etc.). Each item is
linked to a heading on that same page.
If you close the Page Index and scroll down and click "Who are we?" then
choose Felidae, you'll go to a page that's almost identical. Click Page
Index in the top left corner, and you'll see the same ten topics linked
to articles on that same page.
Obviously, I can't write about ten topics for every species of mammal.
Therefore, the section on Intelligence will be blank for many species,
for example (maybe even humans!).
That isn't a problem by itself; if there's no content stored in the
database, it simply won't register on the page. The problem is that the
Page Index will still include the word "Intelligence," linked to a
non-existent anchor on that page.
So I'd like to know if there's a way to create a menu that will only
display topics that are actually on the page. If there's an article
about the polar bear's diet, then the polar bear page wiill display a
Page Index that's linked to that article. If there is NO article about
the polar bear's diet, then I don't want the linked word "Diet" to even
appear on the Page Index.
Can you think of a good strategy for designing something like this? I'm
using PHP, connected to a MySQL database.
This is what the HTML for my Page Index looks like at present:
<div id="navpageindex" class="menuDivHeader"
onclick="P7_swapClass(1,'mnpageindex','showIt','hideIt','div');P7_swapClass(1,'but1','m
enuButMinus','menuButPlus','img')">Page
Index <img src="/images/arrows/pointers/bur.gif" width="6"
height="12"></div>
<div id="mnpageindex" class="showIt">
<div class="divindexes"> • <a href="#intro">Introduction</a><br />
• <a href="#home">Home (Range & Habitat)</a><br />
• <a href="#desc">Appearance & Anatomy</a><br />
• <a href="#senses">Senses</a><br />
• <a href="#intel">Intelligence & Behavior</a><br />
• <a href="#action"><?=$data_details['FamMamPlural'] ?> in Action</a><br />
• <a href="#diet">Diet</a><br />
• <a href="#family">Reproduction & Family Life</a><br />
• <a href="#enemies">Enemies</a><br />
• <a href="#people"><?=$data_details['FamMamPlural'] ?> &
People</a><br />
</div>
</div>
Thanks.
|
| Paul Whitham TMM replied to David B on 22 Jul 2004 |
What I would do is simply wrap the control for the menu in a repeat region
using the database recordset that will feed the main content. That way if an
element is not in the main section it will not appear in the menu.
|
| David B replied to Paul Whitham TMM on 21 Jul 2004 |
Sorry to be so dense, but could you elaborate on that just a bit, or
post an example?
I started out using recordsets, then began hand coding most of my stuff
so I could better understand how it all works. Now I'm getting rusty on
using recordsets!
Thanks.
|
| Paul Whitham TMM replied to David B on 22 Jul 2004 |
David
I do not know PHP so I can not give you a specific example however if your
content is coming from a database then you are currently mapping it to the
page. All you need to do is replace you current code for the menu with a
repeat region that will pick up a key point from the returned records.
|
| David B replied to Paul Whitham TMM on 21 Jul 2004 |
OK, thanks.
|
|
Archived message: Need Advice on Animals Database Index Function (Macromedia Dreamweaver)