Handboek Annuleren

Hoofd- en detailpagina's maken in Dreamweaver

 

 

Opmerking:

De gebruikersinterface van Dreamweaver CC en hoger is vereenvoudigd. Daarom zijn sommige opties die in dit artikel worden beschreven, niet beschikbaar in Dreamweaver CC en hoger. Meer informatie vindt u in dit artikel.

Over hoofd- en detailpagina's

Hoofd- en detailpagina's zijn paginasets die worden gebruikt om recordsetgegevens te organiseren en weer te geven. Deze pagina's bieden de bezoeker van uw site zowel een overzichtsweergave als een gedetailleerde weergave. De hoofdpagina bevat een lijst van alle records en koppelingen naar detailpagina's met aanvullende informatie over elke record.

Hoofdpagina

Detailpagina

U kunt hoofd- en detailpagina's samenstellen door een gegevensobject in te voegen om in één bewerking een hoofd- en een detailpagina te maken, of door servergedrag te gebruiken om de hoofd- en detailpagina's op een meer aangepaste wijze te maken. Wanneer u hoofd- en detailpagina's maakt met behulp van servergedrag, maakt u eerst een hoofdpagina waarop de records worden vermeld, en voegt u daarna vanuit die lijst koppelingen met de detailpagina's toe.

Een hoofdpagina maken

Voordat u start, moet u ervoor zorgen dat u een databaseverbinding voor uw site hebt gedefinieerd.

  1. Kies Bestand > Nieuw > Lege pagina, selecteer een paginaformaat en klik op Maken om een lege pagina te maken. Deze pagina wordt de hoofdpagina.
  2. Definieer een recordset.

    Klik in het paneel Bindingen (Windows > Bindingen) op de plusknop (+), selecteer Recordset en kies de gewenste opties. Klik op Geavanceerd als u uw eigen SQL-instructie wilt schrijven.

    Zorg ervoor dat de recordset alle tabelkolommen bevat die u nodig hebt om de hoofdpagina te maken. De recordset moet ook de tabelkolom bevatten die de unieke sleutel van elke record bevat, dus de kolom met de record-id. In het volgende voorbeeld bevat de kolom Code de unieke sleutel van elke record.

    Recordsetkolommen die zijn geselecteerd voor een hoofdpagina

    Gewoonlijk haalt de recordset op de hoofdpagina enkele kolommen uit een database terwijl de recordset op de detailpagina meer kolommen uit dezelfde tabel ophaalt om de extra details te kunnen geven.

    De recordset kan door de gebruiker in runtime worden gedefinieerd. Zie Zoekpagina's en resultatenpagina's samenstellen voor meer informatie.

  3. Een dynamische tabel invoegen om de records weer te geven.

    Plaats de invoegpositie waar u de dynamische tabel op de pagina wilt weergeven. Kies Invoegen > Gegevensobjecten > Dynamische gegevens > Dynamische tabel, stel de opties in en klik op OK.

    Als u niet wilt dat gebruikers record-id's te zien krijgen, kunt u de kolom uit de dynamische tabel verwijderen. Klik ergens op de pagina om de pagina te selecteren. Verplaats de cursor naar de bovenkant van de kolom in de dynamische tabel tot de kolomcellen met rood worden omlijnd. Klik dan om de kolom te selecteren. Druk op Delete om de kolom uit de tabel te verwijderen.

Wanneer u de hoofdpagina hebt gemaakt en de recordset hebt toegevoegd, maakt u koppelingen die de detailpagina openen. Daarna wijzigt u de koppelingen zodat ze de id's doorgeven van de records die de gebruiker selecteert. Op de detailpagina wordt deze id gebruikt om de gevraagde record in de database te zoeken en weer te geven.

Opmerking:

Koppelingen naar updatepagina's maakt u met hetzelfde proces. De resultatenpagina komt overeen met de hoofdpagina, en de updatepagina komt overeen met een detailpagina.

De detailpagina openen en een record-id doorgeven (ColdFusion, PHP)

  1. Selecteer in de dynamische tabel de tijdelijke aanduiding voor tekst die als een koppeling zal dienen.
    Koppelingen die van toepassing zijn op de tijdelijke aanduiding voor tekst, zijn geselecteerd.

  2. Klik in de eigenschappencontrole op het mappictogram naast het vak Koppeling.
  3. Zoek en selecteer de detailpagina. De detailpagina wordt weergegeven in het vak Koppeling van de eigenschappencontrole.

    In de dynamische tabel wordt de geselecteerde tekst weergegeven als gekoppeld. Wanneer de pagina op de server wordt uitgevoerd, wordt de koppeling toegepast op de tekst in elke tabelrij.

  4. Selecteer op de hoofdpagina de koppeling in de dynamische tabel.
  5. (ColdFusion) In het vak Koppeling van de eigenschappencontrole voegt u de volgende tekenreeks aan het einde van de URL toe:
    ?recordID=#recordsetName.fieldName#
    ?recordID=#recordsetName.fieldName#
    ?recordID=#recordsetName.fieldName#

    Het vraagteken vertelt de server dat er na het vraagteken een of meer URL-parameters volgen. Het woord recordID is de naam van de URL-parameter (u mag ook een andere naam kiezen). Noteer de naam van de URL-parameter, want die gaat u later op de detailpagina gebruiken.

    De expressie na het gelijkteken is de waarde van de parameter. In dit geval wordt de waarde gegenereerd door een ColdFusion-expressie die een record-id uit de recordset retourneert. Voor elke rij in de dynamische tabel wordt een andere id gegenereerd. Vervang recordsetName in de ColdFusion-expressie door de naam van de recordset, en vervang fieldName door de naam van het veld in uw recordset dat elke record op unieke wijze identificeert. In de meeste gevallen bestaat het veld uit een record-id-nummer. In het volgende voorbeeld bestaat het veld uit unieke locatiecodes.

    locationDetail.cfm?recordID=#rsLocations.CODE#
    locationDetail.cfm?recordID=#rsLocations.CODE#
    locationDetail.cfm?recordID=#rsLocations.CODE#

    Wanneer de pagina wordt uitgevoerd, worden de waarden van het veld CODE van de recordset ingevoegd in de corresponderende rijen van de dynamische tabel. Als de verhuurlocatie Canberra, Australië bijvoorbeeld de code CBR heeft, wordt de volgende URL gebruikt in de rij Canberra van de dynamische tabel:

    locationDetail.cfm?recordID=CBR
    locationDetail.cfm?recordID=CBR
    locationDetail.cfm?recordID=CBR
  6. (PHP) In het veld Koppeling van de eigenschappencontrole voegt u de volgende tekenreeks aan het einde van de URL toe:
    ?recordID=<?php echo $row_recordsetName['fieldName']; ?>
    ?recordID=<?php echo $row_recordsetName['fieldName']; ?>
    ?recordID=<?php echo $row_recordsetName['fieldName']; ?>

    Het vraagteken vertelt de server dat er na het vraagteken een of meer URL-parameters volgen. Het woord recordID is de naam van de URL-parameter (u mag ook een andere naam gebruiken). Noteer de naam van de URL-parameter, want die gaat u later op de detailpagina gebruiken.

    De expressie na het gelijkteken is de waarde van de parameter. In dit geval wordt de waarde gegenereerd door een PHP-expressie die een record-id uit de recordset retourneert. Voor elke rij in de dynamische tabel wordt een andere id gegenereerd. Vervang recordsetName in de PHP-expressie door de naam van de recordset, en vervang fieldName door de naam van het veld in uw recordset dat elke record op unieke wijze identificeert. In de meeste gevallen bestaat het veld uit een record-id-nummer. In het volgende voorbeeld bestaat het veld uit unieke locatiecodes.

    locationDetail.php?recordID=<?php echo $row_rsLocations['CODE']; ?>
    locationDetail.php?recordID=<?php echo $row_rsLocations['CODE']; ?>
    locationDetail.php?recordID=<?php echo $row_rsLocations['CODE']; ?>

    Wanneer de pagina wordt uitgevoerd, worden de waarden van het veld CODE van de recordset ingevoegd in de corresponderende rijen van de dynamische tabel. Als de verhuurlocatie Canberra, Australië bijvoorbeeld de code CBR heeft, wordt de volgende URL gebruikt in de rij Canberra van de dynamische tabel:

    locationDetail.php?recordID=CBR
    locationDetail.php?recordID=CBR
    locationDetail.php?recordID=CBR
  7. Sla de pagina op.

De detailpagina openen en een record-id doorgeven (ASP)

  1. Selecteer de dynamische inhoud om als koppeling te kopiëren.
  2. Klik in het deelvenster Servergedrag (Venster > Servergedrag) op de plusknop (+) en kies Naar detailpagina in het pop-upmenu.
  3. Klik in het vak Detailpagina op Bladeren en zoek de pagina.
  4. Geef de waarde op die u aan de detailpagina wilt doorgeven door een recordset en een kolom te selecteren in de menu's Recordset en Kolom. Gewoonlijk is de waarde uniek voor de record, zoals de unieke sleutel-id van de record.
  5. Geef desgewenst bestaande paginaparameters aan de detailpagina door door de opties URL-parameters of Formulierparameters te selecteren.
  6. Klik op OK.

    De geselecteerde tekst wordt met een speciale koppeling omkaderd. Wanneer de gebruiker op de koppeling klikt, geeft het servergedrag 'Ga naar detailpagina' een URL-parameter met de record-id door aan de detailpagina. Als de URL-parameter bijvoorbeeld id is genoemd en de detailpagina customerdetail.asp is genoemd, ziet de URL er ongeveer als volgt uit wanneer de gebruiker op de koppeling klikt:

    http://www.mysite.com/customerdetail.asp?id=43

    Het eerste deel van de URL, http://www.mysite.com/customerdetail.asp, opent de detailpagina. Het tweede deel, ?id=43, is de URL-parameter. Deze vertelt de detailpagina welke record moet worden opgehaald en weergegeven. De term id is de naam van de URL-parameter en 43 is de waarde daarvan. In dit voorbeeld bevat de URL-parameter het id-nummer van de record, 43.

De gevraagde record zoeken en op de detailpagina weergeven

Om de record te kunnen weergeven die door de hoofdpagina is opgevraagd, moet u een recordset definiëren om een enkele record vast te houden en de recordsetkolommen aan de detailpagina binden.

  1. Schakel over naar de detailpagina. Als u nog geen detailpagina hebt, maakt u een lege pagina (Bestand > Nieuw).
  2. Klik in het paneel Bindingen (Venster > Bindingen) op de plusknop (+) en kies Recordset (Query) of Gegevensset (Query) in het pop-upmenu.

    Het dialoogvenster Eenvoudige recordset of gegevensset wordt geopend. Als het geavanceerde dialoogvenster wordt geopend, klikt u op Eenvoudig.

  3. Geef de recordset een naam, en selecteer een gegevensbron en de databasetabel waaruit de recordset de gegevens moet ophalen.
  4. Selecteer in het gebied Kolommen de tabelkolommen die u in de recordset wilt opnemen.

    De recordset kan gelijk zijn aan de recordset op de hoofdpagina. Dat is echter niet noodzakelijk. Gewoonlijk heeft een recordset voor een detailpagina meerdere kolommen om meer details weer te geven.

    Als de recordsets verschillend zijn, moet u ervoor zorgen dat de recordset op de detailpagina minstens één kolom gemeenschappelijk heeft met de recordset op de hoofdpagina. De gemeenschappelijke kolom is gewoonlijk de kolom met de record-id, maar het kan ook het join-veld van gerelateerde tabellen zijn.

    Als u slechts enkele tabelkolommen in de recordset wilt opnemen, klikt u op Geselecteerd en kiest u de gewenste kolommen door op de kolommen in de lijst te klikken terwijl u Control (Windows) of Command (Macintosh) ingedrukt houdt.

  5. Vul de sectie Filter in om de record te zoeken en weer te geven die is opgegeven in de URL-parameter die door de hoofdpagina is doorgegeven:
    • Selecteer in het eerste pop-upmenu in het gebied Filter de kolom in de recordset met waarden die overeenkomen met de waarde van de URL-parameter die door de hoofdpagina is doorgegeven. Als de URL-parameter bijvoorbeeld een record-id-nummer bevat, selecteert u de kolom die record-id-nummers bevat. In het eerder besproken voorbeeld bevat de recordsetkolom CODE de waarden die overeenkomen met de waarde van de URL-parameter die door de hoofdpagina is doorgegeven.

    • Selecteer in het pop-upmenu naast het eerste menu het gelijkteken (dit moet al zijn geselecteerd).

    • Selecteer in het derde pop-upmenu de optie URL-parameter. De hoofdpagina gebruikt een URL-parameter om informatie door te geven aan de detailpagina.

    • Voer in het vierde vak de naam in van de URL-parameter die de hoofdpagina heeft doorgegeven.

  6. Klik op OK. De recordset wordt in het paneel Bindingen weergegeven.
  7. Koppel de recordsetkolommen aan de detailpagina door de kolommen in het paneel Bindingen (Venster > Bindingen) te selecteren, en ze naar de pagina te slepen.

    Wanneer u zowel de hoofdpagina als de detailpagina op de server hebt geladen, kunt u de hoofdpagina in een browser openen. Wanneer u op een detailkoppeling op de hoofdpagina klikt, wordt de detailpagina geopend met meer informatie over de geselecteerde record.

Een specifieke record zoeken en op een pagina weergeven (ASP)

U kunt servergedrag toevoegen waarmee wordt gezocht naar een specifieke record, zodat u de recordgegevens op de pagina kunt weergeven. Het servergedrag is alleen beschikbaar wanneer het ASP-servermodel wordt gebruikt.

  1. Maak een pagina die aan de volgende voorwaarden voldoet:
  2. U kunt het servergedrag voor het zoeken naar de record die is opgegeven in de URL-parameter, toevoegen door te klikken op de plusknop (+) in het paneel Servergedrag (Window > Servergedrag) en Recordset pagineren > Ga naar specifiek record.
  3. Selecteer in het pop-upmenu 'Ga naar record in' de recordset die u voor de pagina hebt gedefinieerd.
  4. Selecteer in het pop-upmenu Waarbij-kolom de kolom die de waarde bevat die door de andere pagina is doorgegeven.

    Als de andere pagina bijvoorbeeld een record-id-nummer doorgeeft, selecteert u de kolom die record-id-nummers bevat.

  5. Voer in het vak Komt overeen met URL-parameter de naam in van de URL-parameter die door de andere pagina is doorgegeven.

    Als de bijvoorbeeld de URL die de andere pagina heeft gebruikt om de detailpagina te openen, id=43 is, voert u in het vak Komt overeen met URL-parameter de tekst id in.

  6. Klik op OK.

    Wanneer de pagina een volgende keer door een browser wordt opgevraagd, leest het servergedrag de record-id in de URL-parameter die door de andere pagina is doorgegeven, en wordt de opgegeven record in de recordset opgehaald.

In één bewerking hoofd- en detailpagina's maken

Wanneer u webtoepassingen ontwikkelt, kunt u met het gegevensobject Hoofddetailpaginaset snel hoofd- en detailpagina's maken.

  1. Kies Bestand > Nieuw > Lege pagina, selecteer in de lijst Paginatype een dynamische pagina en klik op Maken om een lege dynamische pagina te maken.

    Deze pagina wordt de hoofdpagina.

  2. Definieer een recordset voor de pagina.

    Zorg ervoor dat de recordset niet alleen alle kolommen bevat die u voor de hoofdpagina nodig hebt, maar ook alle kolommen die u voor de detailpagina nodig hebt. Gewoonlijk haalt de recordset op de hoofdpagina enkele kolommen uit een database terwijl de recordset op de detailpagina meer kolommen uit dezelfde tabel ophaalt om de extra details te kunnen geven.

  3. Open de hoofdpagina in de ontwerpweergave en selecteer Invoegen > Gegevensobjecten > Hoofddetailpaginaset.
  4. Controleer in het pop-upmenu Recordset of de recordset is geselecteerd die de records bevat die u op de hoofdpagina wilt weergeven.
  5. Selecteer in het gebied Hoofdpaginavelden de recordsetkolommen die u op de hoofdpagina wilt weergeven.

    Standaard zijn alle kolommen in de recordset geselecteerd. Als uw recordset een kolom met een unieke sleutel bevat, zoals recordID, selecteert u deze kolom en klikt u op de minknop (-), zodat deze kolom niet op de pagina wordt weergegeven.

  6. Als u de volgorde wilt veranderen waarin de kolommen op de hoofdpagina worden weergegeven, selecteert u een kolom in de lijst en klikt u op de pijl-omhoog of -omlaag.

    Op de hoofdpagina worden de recordsetkolommen horizontaal in een tabel weergegeven. Klik op de pijl-omhoog om de kolom naar links te verplaatsen en klik op de pijl-omlaag om de kolom naar rechts te verplaatsen.

  7. Selecteer in het pop-upmenu 'Naar detailpagina gaan vanuit' de kolom in de recordset die een waarde weergeeft die ook als een koppeling naar de detailpagina fungeert.

    Als u bijvoorbeeld wilt dat elke productnaam op de hoofdpagina een koppeling bevat naar de detailpagina, selecteert u de recordsetkolom die de productnamen bevat.

  8. Selecteer in het pop-upmenu Unieke sleutel doorgeven de kolom in de recordset die de waarden bevat die de records identificeren.

    Gewoonlijk wordt de kolom met het record-id-nummer gekozen. Deze waarde wordt aan de detailpagina doorgegeven zodat deze weet welke record door de gebruiker is gekozen.

  9. Schakel de optie Numeriek uit als de kolom met de unieke sleutel niet numeriek is.
    Opmerking:

    Deze optie is standaard ingeschakeld, en wordt niet voor alle servermodellen weergegeven.

  10. Geef op hoeveel records op de hoofdpagina moeten worden weergegeven.
  11. Klik in het vak Naam van detailpagina op Bladeren en zoek het detailpaginabestand dat u hebt gemaakt, of voer een naam in en laat het gegevensobject een detailpagina voor u maken.
  12. Selecteer in het gebied Detailpaginavelden de kolommen die u op de detailpagina wilt weergeven.

    Standaard zijn alle kolommen in de recordset van de hoofdpagina geselecteerd. Als de recordset een kolom met een unieke sleutel bevat, zoals recordID, selecteert u deze kolom en klikt u op de minknop (-), zodat deze kolom niet op de detailpagina wordt weergegeven.

  13. Als u de volgorde wilt veranderen waarin de kolommen op de detailpagina worden weergegeven, selecteert u een kolom in de lijst en klikt u op de pijl-omhoog of -omlaag.

    Op de detailpagina worden de recordsetkolommen verticaal in een tabel geplaatst. Klik op de pijl-omhoog om de kolom naar boven te verplaatsen, en klik op de pijl-omlaag om de kolom naar beneden te verplaatsen.

  14. Klik op OK.

    Het gegevensobject maakt een detailpagina (als u er nog geen had gemaakt) en voegt dynamische inhoud en servergedrag aan zowel de hoofd- als de detailpagina toe.

  15. Pas de indeling van de hoofd- en detailpagina's aan uw behoeften aan.

    U kunt de indeling van elke pagina geheel aanpassen met behulp van de pagina-ontwerpgereedschappen van Dreamweaver. U kunt ook het servergedrag bewerken door er in het paneel Servergedrag op te dubbelklikken.

    Wanneer u de hoofd- en detailpagina's met het gegevensobject hebt gemaakt, gebruikt u het paneel Servergedrag (Venster > Servergedrag) om de diverse elementen te wijzigen die het gegevensobject op de pagina's invoegt.

Krijg sneller en gemakkelijker hulp

Nieuwe gebruiker?