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.
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.
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.
Vervolgens vertel je het formulier waar de zoekparameters naartoe moeten worden verzonden wanneer de gebruiker op de Submit-knop klikt.
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.
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
Als je nog geen resultatenpagina hebt, maak dan een lege dynamische pagina (Bestand > Nieuw > Lege pagina).
Als het geavanceerde dialoogvenster in plaats daarvan verschijnt, schakel dan over naar het eenvoudige dialoogvenster door op de knop Eenvoudig te klikken.
De verbinding moet zijn met een database die gegevens bevat waarin je wilt dat de gebruiker zoekt.
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.
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
Als de waarde die door de zoekpagina wordt verzonden bijvoorbeeld een plaatsnaam is, selecteer je de kolom in je tabel die plaatsnamen bevat.
De zoekpagina gebruikt een formuliervariabele of een URL-parameter om informatie door te geven aan de resultatenpagina.
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:
De testwaarde simuleert de waarde die anders door de zoekpagina zou zijn teruggegeven.Klik op OK om de test- recordset te sluiten.
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.
Als je slechts één zoekvoorwaarde hebt, kun je het eenvoudige recordset-dialoogvenster gebruiken om je recordset te definiëren (zie Een eenvoudige resultatenpagina bouwen ).
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.
De verbinding moet zijn met een database die gegevens bevat waarin je wilt dat de gebruiker zoekt.
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.
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:
In ColdFusion zouden de runtime-waarden #LastName# en #Department# zijn. In PHP zouden de runtime waarden $_REQUEST["LastName"] en $_REQUEST["Department"] zijn.
De standaardwaarden simuleren de waarden die anders zouden zijn geretourneerd vanaf de search-pagina. Klik op OK om de test- recordset te sluiten.
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.
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.
Koppeling maken om een gerelateerde pagina te openen (ASP)
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.
Als de huidige pagina gegevens naar zichzelf verstuurt, voer je de bestandsnaam van de huidige pagina in.
Wanneer op de nieuwe koppeling wordt geklikt, geeft de pagina de parameters door aan de gerelateerde pagina met behulp van een query-tekenreeks.
Prachtige websites ontwerpen in Dreamweaver
Ontwerp, codeer en beheer dynamische websites in een krachtige alles-in-één tool.