Ello,
In mijn verveling ben ik weer eens begonnen aan een site, maar ik loop vast op iets en ik kom er echt even niet meer uit. Allereerst het idee:
Wat ik nu heb is een site die boven de pagina een aantal tabbladen heeft, deze tabbladen zijn dynamisch en veranderen als de pagina veranderd. De bedoeling is dat je pagina's aan elkaar kunt koppellen en zodoende tabbladen krijgt van relevante pagina's en natuurlijk van de huidige pagina.
Voorbeeld:
Ik heb 3 pagina's, pagina A, B & C. Ik koppel pagina A aan pagina B en pagina B koppel ik aan pagina C. Als ik nu op pagina A ben, wil ik tabbladen zien van pagina A & B. Als ik op pagina B ben wil ik tabbladen van pagina A, B & C (pagina B is immers aan A en C gekoppeld) en op pagina C wil ik tabbladen van pagina C & B.
Ik hoop dat dat een beetje duidelijk is. Om dit te verwezenlijken heb ik 2 tabellen. 1 Tabel voor de pagina's, en 1 tabel die het zaakje moet koppellen:
pages
- id
- tab
- title
- content
page_link
- link_key
- page_id
Wat ik nu dus wil is dat als ik pagina A wil laten zien met id 1, ik kijk welke link_key(s) er bij page_id = 1 horen en vervolgens wil ik de page_id(s) weten die link_key(s) horen zodat ik de 'tab' kan uitlezen en een linkje kan weergeven. Dit heb ik nu alsvolgt gedaan:
Dit werkt opzich, maar bij pagina B krijg ik problemen. Dan krijg ik 2 keer de tab van pagina B omdat pagina B 2 link_keys heeft. Daarnaast heb ik het idee dat ik erg in-efficient bezig ben.
Ik staar me er al een tijdje op blind en ik weet het even niet meer, iemand suggesties?
In mijn verveling ben ik weer eens begonnen aan een site, maar ik loop vast op iets en ik kom er echt even niet meer uit. Allereerst het idee:
Wat ik nu heb is een site die boven de pagina een aantal tabbladen heeft, deze tabbladen zijn dynamisch en veranderen als de pagina veranderd. De bedoeling is dat je pagina's aan elkaar kunt koppellen en zodoende tabbladen krijgt van relevante pagina's en natuurlijk van de huidige pagina.
Voorbeeld:
Ik heb 3 pagina's, pagina A, B & C. Ik koppel pagina A aan pagina B en pagina B koppel ik aan pagina C. Als ik nu op pagina A ben, wil ik tabbladen zien van pagina A & B. Als ik op pagina B ben wil ik tabbladen van pagina A, B & C (pagina B is immers aan A en C gekoppeld) en op pagina C wil ik tabbladen van pagina C & B.
Ik hoop dat dat een beetje duidelijk is. Om dit te verwezenlijken heb ik 2 tabellen. 1 Tabel voor de pagina's, en 1 tabel die het zaakje moet koppellen:
pages
- id
- tab
- title
- content
page_link
- link_key
- page_id
Wat ik nu dus wil is dat als ik pagina A wil laten zien met id 1, ik kijk welke link_key(s) er bij page_id = 1 horen en vervolgens wil ik de page_id(s) weten die link_key(s) horen zodat ik de 'tab' kan uitlezen en een linkje kan weergeven. Dit heb ik nu alsvolgt gedaan:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| }elseif(is_numeric($_GET['pgid'])){ //haal tabbladen en links op als er een pagina uit de database gehaald wordt $query_tabs = "SELECT link_key FROM page_link WHERE page_id = '" . $_GET['pgid'] . "'"; $result_tabs = mysql_query($query_tabs) or die(mysql_error()); echo '<div id="tabbladen">'; while($obj = mysql_fetch_object($result_tabs)){ $query_obj = "SELECT pages.tab, page_link.page_id FROM page_link INNER JOIN pages ON (pages.id = page_link.page_id) WHERE page_link.link_key = '" . $obj->link_key . "'"; $result_obj = mysql_query($query_obj) or die(mysql_error()); while($tab_obj = mysql_fetch_object($result_obj)){ if($tab_obj->page_id == $_GET['pgid']){ echo '<li><a href="index.php?pgid=' . $tab_obj->page_id . '" class="selected">' . $tab_obj->tab . '</a></li>'; }else{ echo '<li><a href="index.php?pgid=' . $tab_obj->page_id . '">' . $tab_obj->tab . '</a></li>'; } } } echo '</div>'; } |
Dit werkt opzich, maar bij pagina B krijg ik problemen. Dan krijg ik 2 keer de tab van pagina B omdat pagina B 2 link_keys heeft. Daarnaast heb ik het idee dat ik erg in-efficient bezig ben.
Ik staar me er al een tijdje op blind en ik weet het even niet meer, iemand suggesties?
Research is what I'm doing when I don't know what I'm doing.