Verschillende content weergeven op dezelfde pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jules Kreutzer

Jules Kreutzer

06/03/2012 18:22:17
Quote Anchor link
Hallo,

Ik heb een (misschien simpele) vraag, Ik heb op een site die ik maak 2 kolommen waar ik tekst in kan plaatsen. Nu heb ik rechts in een kader de onderwerpen staan, maar nu wil ik dat wanneer ik op een link klik, dat de informatie achter die link wordt weergegeven in het linker vlak.

Wel wil ik dat je op de zelfde pagina blijft. Dus eigenlijk laadt je informatie in het linker vak.

Hoe zouden jullie dit doen. Dit hoeft niet uitgebreid en ik zou het fijn vinden als jullie ergens een tutorial of iets dergelijks ervoor hebben.

Alvast bedankt!

Jules
 
PHP hulp

PHP hulp

20/04/2024 03:11:38
 
Cake Masher

Cake Masher

06/03/2012 18:27:04
Quote Anchor link
Jules.

Dit kan je door d.m.v. Jquery / Ajax.. Hiermee laad je op de 'achtergrond' de pagina, en plaats je d.m.v. javascript de content van de geladen pagina in het des betreffende vakje.

Wat je ook kan doen, is iets als dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
  if (!empty ($_GET['content']))
     include ($_GET['content'] . '.php');
?>

waarbij de pagina 'informatie.php' heet waar de gegevens op staan die in kollom 2 moeten, en de link dan word 'pagina.php?content=informatie'.
Let er hier wel bij op dat er wel de benodigde beveiliging of checks moeten worden gemaakt zodat men geen pagina's kan includen die je niet wilt includen.

@jeroen vd, ik zag het xD.
Wat inderdaad ook een oplossing kan zijn, is meerdere elementen in je kollom hebben, die allemaal niet zichtbaar zijn. Vervolgens laad je in al die elementen (bijv. <div>) alle informatie, en als je dan op een linkje klikt, laat je d.m.v. javascript de element zien. Klik je op een andere link, dan zou je eerst die je op dat moment ziet weer kunnen verbergen, en dan de andere waar de juiste informatie in staat laten zien.
Gewijzigd op 06/03/2012 18:32:09 door Cake Masher
 
Jeroen VD

Jeroen VD

06/03/2012 18:27:54
Quote Anchor link
je zou dit met frames kunnen doen, maar dit moet je niet doen. ik zeg het hier ook alleen maar omdat wanneer je gaat googelen je het wel eens tegen kunt komen.

css is de uitkomst. deel je pagina op in divjes, en geef die met css de eigenschappen die je wilt hebben, zoals breedte en hoogte.

voor de linkjes heb je volgens mij jquery nodig, hoewel dit ook kan met gewoon javascript, maar dit maakt het moeilijker

Toevoeging op 06/03/2012 18:28:17:

cake masher was me net voor!
 
Jules Kreutzer

Jules Kreutzer

06/03/2012 18:34:46
Quote Anchor link
Bedankt voor de snelle reactie's.

Ik snap niet echt wat je bedoelt met de code die je geeft Cake Masher, Moet ik die code plaatsen op de plek waar ik de informatie wil hebben? En moet ik dan in de links verwijzen naar informatie.php?content=(waarde) en dan in informatie.php de informatie een naam geven met de waarde die overeenkomt met de link?

alvast bedankt!
 
Jeroen VD

Jeroen VD

06/03/2012 18:56:42
Quote Anchor link
je weet wat een include doet? die voert die pagina uit. als je alle content die je wilt laten zien in dat bestand doet, zie je die wanneer je dat bestand included.

die code zet je btw in je index neer, tussen de divjes waar je die content wil hebben

Toevoeging op 06/03/2012 18:58:15:

@cake masher, dat zou je code echt verknallen volgens mij. zie dit topic: topic hoe je dat naar mijn idee beter kunt doen, en dan alles in dezelde div

Toevoeging op 06/03/2012 18:59:41:

btw, ik zou ook geen empty gebebruiken maar dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
  if (isset($_GET['content']) && trim($_GET['content']) != '')
     include ($_GET['content'] . '.php');
?>
Gewijzigd op 06/03/2012 19:00:39 door Jeroen VD
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.