Handboek Annuleren

Zoekpagina's en resultatenpagina's maken

 

 

Opmerking:

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

Met Dreamweaver kunt u een reeks pagina's maken waarmee gebruikers uw databases kunnen doorzoeken en de zoekresultaten kunnen bekijken.

In de meeste gevallen hebt u minstens twee pagina's nodig om deze functie aan uw webtoepassing te kunnen toevoegen. De eerste pagina is een pagina die een HTML-formulier bevat waarin gebruikers zoekparameters invoeren. Hoewel op deze pagina in feite geen zoekactie wordt uitgevoerd, wordt deze toch de 'zoekpagina' genoemd.

De tweede pagina die u nodig hebt is de resultatenpagina, waarop het meeste werk wordt verricht. Op de resultatenpagina worden de volgende taken uitgevoerd:

  • Leest de zoekparameters die door de zoekpagina zijn ingediend.

  • Verbinding maken met de database en zoeken naar records

  • Stelt een recordset samen met de gevonden records.

  • Geeft de inhoud van de recordset weer.

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

    Als u maar één zoekparameter hebt, kunt u met Dreamweaver zoekmogelijkheden aan uw webtoepassing toevoegen zonder SQL-query's en -variabelen te gebruiken. U hoeft alleen uw pagina's te ontwerpen en enkele dialoogvensters in te vullen. Als u meer zoekparameters hebt, moet u een SQL-instructie schrijven en daarvoor meerdere variabelen definiëren.

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

    Het veld Verkooppersoneel zou bijvoorbeeld informatie kunnen bevatten over klanten in een bepaald gebied die inkomsten boven een bepaald niveau hebben. In een formulier op een zoekpagina voert de verkoper een geografisch gebied en een minimaal inkomstenniveau in en klikt op de knop Verzenden om de twee waarden naar een server te sturen. Op de server worden de waarden doorgegeven aan de SQL-instructie op de resultatenpagina. Daar wordt een recordset gemaakt die alleen klanten in het opgegeven gebied bevat die inkomsten boven het opgegeven niveau hebben.

De zoekpagina samenstellen

Een zoekpagina op het web bevat gewoonlijk formuliervelden waarin de gebruiker zoekparameters invoert. De zoekpagina moet minstens een HTML-formulier met een knop Verzenden bevatten.

Ga als volgt te werk als u een HTML-formulier aan een zoekpagina wilt toevoegen.

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

    Op de pagina wordt een leeg formulier gemaakt. Misschien moet u onzichtbare elementen inschakelen (Weergave > Visuele hulpmiddelen > Onzichtbare elementen) om de grenzen van het formulier te zien. Deze worden met dunne rode lijnen aangeduid.

  2. Kies Formulier in het menu Invoegen om formulierobjecten toe te voegen zodat gebruikers hun zoekparameters kunnen invoeren.

    Formulierobjecten zijn tekstvelden, menu's, opties en keuzerondjes. U kunt net zoveel formulierobjecten toevoegen als u wilt opdat gebruikers hun zoekacties kunnen verfijnen. Onthoud echter dat uw SQL-instructie complexer wordt naarmate u meer zoekparameters op de zoekpagina toevoegt.

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

    Vervolgens geeft u aan waar het formulier de zoekparameters naartoe moet sturen wanneer de gebruiker op de knop Verzenden klikt.

  5. Selecteer het formulier door de tag <form> te selecteren in de tagkiezer, onder in het documentvenster (zie de volgende afbeelding):
    Formulier-tag

  6. Voer in het vak Actie van de eigenschappencontrole van het formulier de bestandsnaam in van de resultatenpagina die de zoekactie uitvoert.
  7. 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 een queryreeks aan de URL toe te voegen. Gebruik de methode GET niet met lange formulieren aangezien URL's zijn beperkt tot 8192 tekens.

    • POST verzendt de formuliergegevens als de tekst van een bericht.

    • Default gebruikt de standaardmethode van de browser (gewoonlijk is dat GET).

      De zoekpagina is gereed.

Een basisresultatenpagina samenstellen

Wanneer de gebruiker op de knop Zoeken van het formulier klikt, worden de zoekparameters verzonden naar een resultatenpagina op de server. De resultatenpagina op de server, dus niet de zoekpagina op de browser, is verantwoordelijk voor het ophalen van records uit de database. Als de zoekpagina een enkele zoekparameter naar de server verzendt, kunt u de resultatenpagina samenstellen zonder SQL-query's en -variabelen. U maakt een basisrecordset met een filter dat de records uitsluit die niet voldoen aan de zoekparameter die de zoekpagina heeft ingediend.

Opmerking:

Als u meerdere zoekvoorwaarden hebt, moet u het dialoogvenster Geavanceerde recordset gebruiken om de recordset te definiëren (zie Een geavanceerde resultatenpagina maken).

De recordset voor de zoekresultaten maken

  1. Open de resultatenpagina in het documentvenster.

    Als u nog geen resultatenpagina hebt, maakt u een lege dynamische pagina (Bestand > Nieuw > Lege pagina).

  2. Maak een recordset door het paneel Bindingen te openen (Venster > Bindingen), op de plusknop te klikken (+) en Recordset in het pop-upmenu te kiezen.
  3. Controleer of het dialoogvenster Eenvoudige recordset wordt geopend.
    Dialoogvenster Recordset

    Opmerking:

    Als in plaats daarvan het geavanceerde dialoogvenster wordt geopend, klikt u op de knop Eenvoudig om naar het eenvoudige dialoogvenster te schakelen.

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

    De verbinding moet een verbinding zijn met een database die gegevens bevat waarin de gebruiker kan zoeken.

  5. Selecteer in het pop-upmenu Tabel de tabel die in de database mag worden doorzocht.
    Opmerking:

    Bij een zoekactie met één parameter kunt u naar records in slechts één tabel zoeken. Als u meer tabellen tegelijk wilt doorzoeken, moet u het dialoogvenster Geavanceerde recordset gebruiken en een SQL-query definiëren.

  6. 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.

    U dient alleen de kolommen op te nemen met informatie die u op de resultatenpagina wilt weergeven.

    Laat het dialoogvenster Recordset nog even geopend. Hierin gaat u zo dadelijk de parameters ophalen die de zoekpagina heeft verzonden, en een recordsetfilter maken om de records uit te sluiten die niet aan de parameters voldoen.

Het recordsetfilter maken

  1. Selecteer in het eerste pop-upmenu in het gebied Filter een kolom in de databasetabel waarin u naar een overeenkomst wilt zoeken.

    Als de zoekpagina als waarde bijvoorbeeld een plaatsnaam heeft verzonden, selecteert u de tabelkolom die plaatsnamen bevat.

  2. Selecteer in het pop-upmenu naast het eerste menu het gelijkteken (dit is standaard al geselecteerd).
  3. Selecteer in het derde pop-upmenu de optie Formuliervariabele als het formulier op uw zoekpagina gebruikmaakt van de methode POST, of selecteer de optie URL-parameter als het formulier gebruikmaakt van de methode GET.

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

  4. In het vierde vak voert u de naam in van het formulierobject waarin de zoekparameter op de zoekpagina wordt opgeslagen.

    De naam van het object wordt gekopieerd als de naam van de formuliervariabele of URL-parameter. Als u de naam wilt weten, gaat u naar de zoekpagina, klikt u op het formulierobject op het formulier om het object te selecteren, en leest u de naam van het object af in de eigenschappencontrole.

    Stel dat u een recordset wilt maken die alleen avontuurlijke reizen naar een specifiek land bevat. Stel dat er in de tabel een kolom met de naam TRIPLOCATION voorkomt. Ga er eveneens van uit dat het HTML-formulier op de zoekpagina de methode GET gebruikt en een menuobject Locatie bevat dat een lijst met landen weergeeft. In het volgende voorbeeld ziet u hoe de sectie Filter er moet uitzien:

    Parameters voor formulierobjecten

  5. (Optioneel) Klik op Testen, voer een testwaarde in en klik op OK om de database te verbinden en een instantie van de recordset te maken.

    De testwaarde simuleert de waarde die anders door de zoekpagina zou worden geretourneerd. Klik op OK om de testrecordset te sluiten.

  6. Klik op OK als u tevreden bent met de recordset.

    Op de pagina wordt een script ingevoegd dat op de server is opgeslagen en dat elke record in de databasetabel controleert wanneer het op de server wordt uitgevoerd. Als het opgegeven veld in een record voldoet aan de filtervoorwaarde, wordt de record in de recordset opgenomen. Het script stelt een recordset samen die alleen de zoekresultaten bevat.

    In de volgende stap wordt de recordset op de resultatenpagina weergegeven. Zie De zoekresultaten weergeven voor meer informatie.

Een geavanceerde resultatenpagina samenstellen

Als de zoekpagina meerdere zoekparameters bij de server indient, moet u een SQL-query voor de resultatenpagina schrijven en de zoekparameters in SQL-variabelen gebruiken.

Opmerking:

Als u maar één zoekvoorwaarde hebt, kunt u het dialoogvenster Eenvoudige recordset gebruiken om de recordset te definiëren (zie Een eenvoudige resultatenpagina maken).

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

    Het geavanceerde dialoogvenster bevat een tekstgebied waarin SQL-instructies kunnen worden ingevoerd. Als in plaats daarvan het eenvoudige dialoogvenster wordt geopend, klikt u op de knop Geavanceerd om over te schakelen naar het geavanceerde dialoogvenster.

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

    De verbinding moet een verbinding zijn met een database die gegevens bevat waarin de gebruiker kan zoeken.

  4. Voer een SELECT-instructie in het tekstgebied SQL in.

    Zorg ervoor dat de instructie een WHERE-clausule met variabelen bevat om de zoekparameters in op te slaan. In het volgende voorbeeld worden de variabelen varLastName en varDept genoemd:

    SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬
    WHERE LASTNAME LIKE 'varLastName' ¬
    AND DEPARTMENT LIKE 'varDept'
    SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬ WHERE LASTNAME LIKE 'varLastName' ¬ AND DEPARTMENT LIKE 'varDept'
    SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬ 
    WHERE LASTNAME LIKE 'varLastName' ¬ 
    AND DEPARTMENT LIKE 'varDept'

    U kunt typewerk besparen door gebruik te maken van de structuur met database-items, onder in het dialoogvenster Geavanceerde recordset. Zie Een geavanceerde recordset definiëren door SQL te schrijven voor instructies.

    Meer informatie over SQL-syntaxis vindt u in de SQL primer op www.adobe.com/go/learn_dw_sqlprimer_nl.

  5. Geef de SQL-variabelen de waarden van de zoekparameters. Daartoe klikt u op de plusknop (+) in het gebied Variabelen en voert u de naam van de variabelen in, de standaardwaarde (de waarde die de variabele krijgt als geen runtime-waarde wordt geretourneerd) en een runtime-waarde (gewoonlijk een serverobject dat een waarde bevat die door een browser wordt verzonden, bijvoorbeeld een request-variabele).

    In het volgende ASP-voorbeeld gebruikt het HTML-formulier op de zoekpagina de methode GET en bevat het formulier een tekstveld met de naam LastName en een tekstveld 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.

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

    De standaardwaarden simuleren de waarden die anders door de zoekpagina zouden worden geretourneerd. Klik op OK om de testrecordset te sluiten.

  7. Klik op OK als u tevreden bent met de recordset.

    De SQL-query wordt in de pagina ingevoegd.

    In de volgende stap wordt de recordset op de resultatenpagina weergegeven.

De zoekresultaten weergeven

Wanneer u een recordset hebt gemaakt die de zoekresultaten bevat, moet u de informatie op de resultatenpagina weergeven. Het weergeven van de records kan een eenvoudige kwestie zijn van het slepen van afzonderlijke kolommen van het paneel Bindingen naar de resultatenpagina. U kunt navigatiekoppelingen toevoegen om de recordset voor- en achterwaarts te doorlopen, of u kunt een herhalingsgebied maken om meerdere records op de pagina weer te geven. U kunt ook koppelingen aan een detailpagina toevoegen.

Zie Databaserecords weergeven voor meer informatie over methoden om dynamische inhoud anders op een pagina weer te geven dan in de vorm van resultaten in een dynamische tabel.

  1. Plaats de invoegpositie waar u de dynamische tabel op de resultatenpagina wilt weergeven en kies Invoegen > Gegevensobjecten > Dynamische gegevens > Dynamische tabel.
  2. Vul het dialoogvenster Dynamische tabel in door de recordset te selecteren die u voor de opslag van de zoekresultaten hebt gedefinieerd.
  3. Klik op OK. Op de resultatenpagina wordt een dynamische tabel ingevoegd die de zoekresultaten weergeeft.

Een detailpagina maken voor een resultatenpagina

Uw set met zoek- en resultatenpagina's kan een detailpagina bevatten om meer informatie over specifieke records op de resultatenpagina weer te geven. In dit geval wordt de resultatenpagina eveneens als hoofdpagina gekopieerd in een hoofd-/detailpaginaset.

U kunt een koppeling maken die een aanverwante pagina opent en bestaande parameters aan die pagina doorgeeft. Het servergedrag is alleen beschikbaar wanneer het ASP-servermodel wordt gebruikt.

Voordat u een servergedrag Ga naar aanverwante pagina aan een pagina toevoegt, moet u ervoor zorgen dat de pagina formulier- of URL-parameters van een andere pagina ontvangt. Het servergedrag heeft als taak om deze parameters door te geven aan een derde pagina. U kunt bijvoorbeeld zoekparameters die u van een resultatenpagina hebt ontvangen, aan een andere pagina doorgeven zodat de gebruiker de zoekparameters niet nogmaals hoeft in te voeren.

U kunt eveneens tekst of een afbeelding op de pagina selecteren die als koppeling naar de aanverwante pagina fungeert, of u kunt de aanwijzer op de pagina plaatsen zonder iets te selecteren, waarna de koppelingstekst wordt ingevoegd.

  1. Klik in het vak Ga naar aanverwante pagina op Bladeren en zoek het bestand van de aanverwante pagina.

    Als de huidige pagina gegevens naar zichzelf verzendt, voert u de bestandsnaam van de huidige pagina in.

  2. Als de parameters die u wilt doorgeven, rechtstreeks zijn ontvangen vanuit een HTML-formulier met de methode GET of in de URL van de pagina worden vermeld, selecteert u de optie URL-parameters.
  3. Als de parameters die u wilt doorgeven, rechtstreeks zijn ontvangen vanuit een HTML-formulier met de methode POST, selecteert u de optie Formulierparameters.
  4. Klik op OK.

    Wanneer op de nieuwe koppeling wordt geklikt, geeft de pagina de parameters met een queryreeks aan de aanverwante pagina door.

Krijg sneller en gemakkelijker hulp

Nieuwe gebruiker?