Zoekpagina's en resultatenpagina's maken

Laatst bijgewerkt op 25 apr. 2024
Notitie

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

Over zoekpagina's en resultatenpagina's

Je kunt Dreamweaver gebruiken om een set pagina's te bouwen waarmee gebruikers je database kunnen doorzoeken en de zoekresultaten kunnen bekijken.

In de meeste gevallen heb je minimaal twee pagina's nodig om deze functie aan je webapplicatie toe te voegen.De eerste pagina is een pagina die een HTML-formulier bevat waarin gebruikers zoekparameters invoeren. Hoewel deze pagina niet daadwerkelijk zoekt, wordt deze aangeduid als de zoekpagina.

De tweede pagina die je nodig hebt is de resultatenpagina, die het meeste werk doet. Op de resultatenpagina worden de volgende taken uitgevoerd:

  • Leest de zoekparameters die door de zoekpagina zijn ingediend.

  • Maakt verbinding met de database en zoekt naar records

  • Stelt een recordset samen met de gevonden records

  • Geeft de inhoud van de recordset weer

    Je kunt desgewenst een detailpagina toevoegen. Een detailpagina geeft gebruikers meer informatie over een bepaald record op de resultatenpagina.

    Als je slechts één zoekparameter hebt, kun je met Dreamweaver zoekmogelijkheden aan je webapplicatie toevoegen zonder SQL-query's en variabelen te gebruiken.Ontwerp simpelweg je pagina's en vul een paar dialoogvensters in. Als je meer dan één zoekparameter hebt, moet je een SQL-verklaring schrijven en er meerdere Variabelen voor definiëren.

    Dreamweaver voegt de SQL- query in je pagina in. Wanneer de pagina op de server wordt uitgevoerd, wordt elk record in de databasetabel gecontroleerd. Als het opgegeven veld in een record voldoet aan je SQL-queryvoorwaarden, wordt het record opgenomen in een recordset. De SQL-query bouwt in feite een recordset die alleen de zoekresultaten bevat.

    Veldverkopers hebben bijvoorbeeld mogelijk informatie over klanten in een bepaald gebied met inkomens boven een bepaald niveau. In een formulier op een zoekpagina voert de verkoper een geografisch gebied en een minimaal inkomensniveau in en klikt vervolgens op de knop Verzenden om de twee waarden naar een server te sturen.Op de server worden de waarden doorgegeven aan de SQL-verklaring van de resultatenpagina, die vervolgens een recordset maakt die alleen klanten in het opgegeven gebied met inkomens boven het opgegeven niveau bevat.

De zoekpagina samenstellen

Een zoekpagina op het web bevat doorgaans formuliervelden waarin de gebruiker zoekparameters invoert.Je zoekpagina moet minimaal een HTML-formulier hebben met een verzendknop.

Volg de volgende procedure om een HTML-formulier aan een zoekpagina toe te voegen.

Open de zoekpagina of een nieuwe pagina en selecteer Invoegen > Formulier > Formulier.

Op de pagina wordt een leeg formulier gemaakt. Mogelijk moet je Onzichtbare elementen inschakelen (Weergave > Visuele hulpmiddelen > Onzichtbare elementen) om de grenzen van het formulier te zien, die worden weergegeven als dunne rode lijnen.

Voeg formulierobjecten toe zodat gebruikers hun zoekparameters kunnen invoeren door Formulier te selecteren in het menu Invoegen.

Formulierobjecten omvatten tekstvelden, menu's, opties en keuzerondjes. Je kunt zoveel formulierobjecten toevoegen als je wilt om gebruikers te helpen hun zoekopdrachten te verfijnen. Houd er echter rekening mee dat hoe meer zoekparameters de zoekpagina bevat, hoe complexer je SQL-verklaring wordt.

Voeg een Verzenden-knop toe aan het formulier (Invoegen > Formulier > Knop).
(Optioneel) Wijzig het label van de verzendknop door de knop te selecteren, de eigenschappeninspector te openen (Venster > Eigenschappen) en een nieuwe waarde in te voeren in het vak Waarde.

Vervolgens vertel je het formulier waar de zoekparameters naartoe moeten worden verzonden wanneer de gebruiker op de Submit-knop klikt.

Selecteer het formulier door de <form>-tag te selecteren in de tag-selector onderaan het documentvenster, zoals de volgende afbeelding toont:
Formulier-tag

Voer in het vak Actie in de Property-inspector van het formulier de bestandsnaam in van de resultatenpagina die de database-zoekopdracht zal uitvoeren.
Selecteer in het pop-upmenu Methode een van de volgende methoden om te bepalen hoe het formulier gegevens naar de server verzendt:
  • GET verzendt de formuliergegevens door deze als query-tekenreeks aan de URL toe te voegen.Omdat URL's beperkt zijn tot 8192 tekens, gebruik je de GET-methode niet voor lange formulieren.

  • POST verzendt de formuliergegevens in de hoofdtekst van een bericht.

  • Standaard gebruikt de standaardmethode van de browser (meestal GET).

    De zoekpagina is klaar.

Een eenvoudige resultatenpagina maken

Wanneer de gebruiker op de zoekknop van het formulier klikt, worden de zoekparameters naar een resultatenpagina op de server gestuurd.De resultatenpagina op de server, niet de zoekpagina in de browser, is verantwoordelijk voor het ophalen van records uit de database.Als de zoekpagina één zoekparameter naar de server verzendt, kun je de resultatenpagina samenstellen zonder SQL-query's en variabelen.Je maakt een eenvoudige recordset met een filter dat records uitsluit die niet voldoen aan de zoekparameter die door de zoekpagina is verstuurd.

Notitie

Als je meer dan één zoekvoorwaarde hebt, moet je het geavanceerde dialoogvenster Recordset gebruiken om je recordset te definiëren (zie Een geavanceerde resultatenpagina samenstellen ).

Maak de recordset voor de zoekresultaten

Open je resultatenpagina in het documentvenster.

Als je nog geen resultatenpagina hebt, maak dan een lege dynamische pagina (Bestand > Nieuw > Lege pagina).

Maak een recordset door het deelvenster Bindingen te openen (Venster > Bindingen), op de knop Plus (+) te klikken en Recordset te selecteren in het pop-upmenu.
Controleer of het dialoogvenster Eenvoudige recordset wordt geopend.
Dialoogvenster Recordset

Notitie

Als het geavanceerde dialoogvenster in plaats daarvan verschijnt, schakel dan over naar het eenvoudige dialoogvenster door op de knop Eenvoudig te klikken.

Voer een naam voor de recordset in en selecteer een verbinding.

De verbinding moet zijn met een database die gegevens bevat waarin je wilt dat de gebruiker zoekt.

Selecteer in het pop-upmenu Tabel de tabel die moet worden doorzocht in de database.
Notitie

Bij een zoekfunctie met één parameter kun je alleen zoeken naar records in één enkele tabel. Om in meer dan één tabel tegelijk te zoeken, moet je het geavanceerde dialoogvenster Recordset gebruiken en een SQL query definiëren.

Om alleen enkele kolommen van de tabel in de recordset op te nemen, klik je op Geselecteerd en selecteer je de gewenste kolommen door ze Ctrl-klik (Windows) of Command-klik (Macintosh) in de lijst.

Je moet alleen de kolommen opnemen die informatie bevatten die je op de resultatenpagina wilt weergeven.

Laat het dialoogvenster Recordset voorlopig open.Je gebruikt het hierna om de parameters op te halen die door de zoekpagina zijn verzonden en om een recordsetfilter te maken om records uit te sluiten die niet voldoen aan de parameters.

Het recordsetfilter maken

Selecteer in het eerste pop-upmenu in het gebied filter een kolom in de databasetabel waarin moet worden gezocht naar een overeenkomst.

Als de waarde die door de zoekpagina wordt verzonden bijvoorbeeld een plaatsnaam is, selecteer je de kolom in je tabel die plaatsnamen bevat.

Selecteer in het pop-upmenu naast het eerste menu het isgelijkteken (dit zou de standaardinstelling moeten zijn).
Selecteer in het derde pop-upmenu Formuliervariabele als het formulier op je zoekpagina de POST-methode gebruikt, of URL-parameter als het de GET-methode gebruikt.

De zoekpagina gebruikt een formuliervariabele of een URL-parameter om informatie door te geven aan de resultatenpagina.

Voer in het vierde vak de naam in van het formulierobject dat de zoekparameter op de zoekpagina accepteert.

De naam van het object doet dienst als de naam van de formuliervariabele of URL-parameter.Je kunt de naam verkrijgen door naar de zoekpagina te gaan, op het formulierobject in het formulier te klikken om het te selecteren en de naam van het object te controleren in de Property inspector.

Stel bijvoorbeeld dat je een recordset wilt maken die alleen avonturenreizen naar een specifiek land bevat. Stel dat er in de tabel een kolom met de naam TRIPLOCATION voorkomt. Ga er ook van uit dat het HTML-formulier op je zoekpagina de GET-methode gebruikt en een menu-object bevat genaamd Location dat een lijst van landen weergeeft. Het volgende voorbeeld toont hoe je filter-sectie eruit zou moeten zien:

Parameters voor formulierobjecten

(Optioneel) Klik op Test, voer een testwaarde in en klik op OK om verbinding te maken met de database en een instantie van de recordset te maken.

De testwaarde simuleert de waarde die anders door de zoekpagina zou zijn teruggegeven.Klik op OK om de test- recordset te sluiten.

Klik op OK als u tevreden bent met de recordset.

Een server-side script wordt ingevoegd op je pagina dat elke record in de databasetabel controleert wanneer het op de server draait. Als het opgegeven veld in een record voldoet aan de filtervoorwaarde, wordt de record opgenomen in een recordset. Het script bouwt een recordset die alleen de zoekresultaten bevat.

De volgende stap is om de recordset weer te geven op de resultatenpagina. Voor meer informatie, zie Zoekresultaten weergeven .

Een geavanceerde resultatenpagina maken

Als de zoekpagina meer dan één zoekparameter verstuurt naar de server, moet je een SQL-query schrijven voor de resultatenpagina en de zoekparameters gebruiken in SQL-variabelen.

Notitie

Als je slechts één zoekvoorwaarde hebt, kun je het eenvoudige recordset-dialoogvenster gebruiken om je recordset te definiëren (zie Een eenvoudige resultatenpagina bouwen ).

Open de resultatenpagina in Dreamweaver en maak vervolgens een recordset door het paneel Bindingen te openen (Venster > Bindingen), op de plusknop (+) te klikken en Recordset te selecteren in het pop-upmenu.
Controleer of het dialoogvenster Geavanceerde recordset wordt geopend.

Het geavanceerde dialoogvenster bevat een tekstgebied waarin SQL-instructies kunnen worden ingevoerd. Als het eenvoudige dialoogvenster wordt weergegeven, schakel je over naar het geavanceerde dialoogvenster door op de knop Geavanceerd te klikken.

Voer een naam voor de recordset in en selecteer een verbinding.

De verbinding moet zijn met een database die gegevens bevat waarin je wilt dat de gebruiker zoekt.

Voer een SELECT-instructie in het tekstgebied SQL in.

Zorg ervoor dat de instructie een WHERE-component bevat met variabelen om de search-parameters vast te houden. In het volgende voorbeeld heten de variabelen varLastName en varDept:

SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

Om de hoeveelheid typen te verminderen, kun je de boom van database-items onderaan het geavanceerde recordset-dialoogvenster gebruiken. Voor instructies, zie Een geavanceerde recordset definiëren door SQL te schrijven.

Voor hulp bij SQL- syntaxis, zie de SQL-primer op www.adobe.com/go/learn_dw_sqlprimer.

Geef de SQL-variabelen de waarden van de search-parameters door op de plusknop (+) te klikken in het gebied Variabelen en de naam van de variabele, standaardwaarde (de waarde die de variabele moet krijgen als geen runtime-waarde wordt geretourneerd) en runtime-waarde (meestal een server-object met een waarde verzonden door een browser, zoals een verzoek- variabele) in te voeren.

In het volgende ASP-voorbeeld gebruikt het HTML-formulier op de zoekpagina de GET-methode en bevat het één tekstveld met de naam LastName en een ander met de naam Department:

ASP-voorbeeld

In ColdFusion zouden de runtime-waarden #LastName# en #Department# zijn. In PHP zouden de runtime waarden $_REQUEST["LastName"] en $_REQUEST["Department"] zijn.

(Optioneel) Klik op Test om een instantie van de recordset te maken met de standaardwaarden van de variabelen.

De standaardwaarden simuleren de waarden die anders zouden zijn geretourneerd vanaf de search-pagina. Klik op OK om de test- recordset te sluiten.

Klik op OK als u tevreden bent met de recordset.

De SQL-query wordt in de pagina ingevoegd.

De volgende stap is het weergeven van de recordset op de resultatenpagina.

De zoekresultaten weergeven

Nadat je een recordset hebt gemaakt om de zoekresultaten vast te houden, moet je de informatie weergeven op de resultatenpagina.Het weergeven van de records kan een eenvoudige kwestie zijn van het slepen van individuele kolommen vanuit het paneel Bindingen naar de resultatenpagina. Je kunt navigatie- koppelingen toevoegen om vooruit en achteruit door de recordset te bewegen, of je kunt een herhalend gebied maken om meer dan één record op de pagina weer te geven. U kunt ook koppelingen aan een detailpagina toevoegen.

Voor meer informatie over methoden voor het weergeven van dynamische content op een pagina anders dan het weergeven van resultaten in een dynamische tabel, zie Database- records weergeven.

Plaats het invoegpunt waar de dynamische tabel moet verschijnen op de resultatenpagina en selecteer Invoegen > Gegevensobjecten > Dynamische gegevens > Dynamische tabel.
Vul het dialoogvenster Dynamische tabel in en selecteer de recordset die je hebt gedefinieerd om de search-resultaten vast te houden.
Klik op OK. Een dynamische tabel die zoekresultaten weergeeft wordt ingevoegd op de resultatenpagina.

Detailpagina maken voor een resultatenpagina

Je set van zoek- en resultatenpagina's kan een detailpagina bevatten om meer informatie weer te geven over specifieke records op de resultatenpagina. In deze situatie fungeert je resultatenpagina ook als de hoofdpagina in een master-detailpaginaset.

Je kunt een koppeling maken die een gerelateerde pagina opent en bestaande parameters doorgeeft aan die pagina. Het servergedrag is alleen beschikbaar bij gebruik van het ASP-servermodel.

Voordat je een Go To Related Page servergedrag toevoegt aan een pagina, zorg je ervoor dat de pagina formulier- of URL-parameters ontvangt van een andere pagina. De taak van het servergedrag is om deze parameters door te geven aan een derde pagina. Je kunt bijvoorbeeld zoekopdracht-parameters die zijn ontvangen door een resultatenpagina doorgeven aan een andere pagina en de gebruiker besparen om de zoekopdracht-parameters opnieuw in te voeren.

Je kunt ook tekst of een afbeelding op de pagina selecteren om te dienen als de koppeling naar de gerelateerde pagina, of je kunt je aanwijzer op de pagina plaatsen zonder iets te selecteren, en de koppelingstekst wordt ingevoegd.

Klik in het vak Go To Related Page op Verkennen en zoek het gerelateerde paginabestand.

Als de huidige pagina gegevens naar zichzelf verstuurt, voer je de bestandsnaam van de huidige pagina in.

Als de parameters die je wilt doorgeven direct zijn ontvangen van een HTML-formulier met de GET-methode, of zijn vermeld in de URL van de pagina, selecteer je de optie URL-parameters.
Als de parameters die je wilt doorgeven direct zijn ontvangen van een HTML-formulier met de POST-methode, selecteer je de optie Formulierparameters.
Klik op OK.

Wanneer op de nieuwe koppeling wordt geklikt, geeft de pagina de parameters door aan de gerelateerde pagina met behulp van een query-tekenreeks.