Bygga sök- och resultatsidor

Senast uppdaterad den 25 apr. 2024
Obs!

Användargränssnittet i Dreamweaver och senare har förenklats. Det kan därför hända att du inte hittar vissa av alternativen i den här artikeln i Dreamweaver och senare. Mer information finns i den här artikeln.

Om sök- och resultatsidor

Du kan använda Dreamweaver för att bygga en uppsättning sidor som låter användare söka i din databas och visa sökresultaten.

I de flesta fall behöver du minst två sidor för att lägga till denna funktion i din webbapplikation. Den första sidan är en sida som innehåller ett HTML-formulär där användare anger sökparametrar. Även om denna sida inte gör någon faktisk sökning kallas den för söksidan.

Den andra sidan du behöver är resultatsidan, som utför det mesta arbetet. Resultatsidan utför följande:

  • Läser sökparametrarna som skickas från söksidan

  • Ansluter till databasen och söker efter poster

  • Bygger en postmängd med de funna posterna

  • Visar postmängdens innehåll

    Om du vill kan du lägga till en detaljsida.En detaljsida ger användare mer information om en specifik post på resultatsidan.

    Om du bara har en sökparameter låter Dreamweaver dig lägga till sökfunktioner i din webbapplikation utan att använda SQL-frågor och variabler. Utforma helt enkelt dina sidor och fyll i några dialogrutor.Om du har mer än en sökparameter behöver du skriva en SQL-sats och definiera flera variabler för den.

    Dreamweaver infogar SQL-frågan i din sida. När sidan körs på servern kontrolleras varje post i databastabellen. Om det angivna fältet i en post uppfyller dina SQL-frågevillkor inkluderas posten i en uppsättning poster. SQL-frågan bygger i praktiken en uppsättning poster som bara innehåller sökresultaten.

    Till exempel kan fältsäljare ha information om kunder i ett visst område som har inkomster över en viss nivå. I ett formulär på en söksida anger säljaren ett geografiskt område och en minimiinkomstnivå, och klickar sedan på knappen Skicka för att skicka de två värdena till en server. På servern skickas värdena till resultatsidans SQL-sats, som sedan skapar en uppsättning poster som bara innehåller kunder i det angivna området med inkomster över den angivna nivån.

Bygga söksidan

En söksida på webben innehåller vanligtvis formulärfält där användaren anger sökparametrar.Som minimum måste din söksida ha ett HTML-formulär med en Skicka-knapp.

För att lägga till ett HTML-formulär på en söksida slutför du följande procedur.

Öppna söksidan eller en ny sida och välj Infoga > Formulär > Formulär.

Ett tomt formulär skapas på sidan. Du kan behöva aktivera Osynliga element (Visa > Visuella hjälpmedel > Osynliga element) för att se formulärets gränser, som representeras av tunna röda linjer.

Lägg till formulärobjekt som låter användare ange sina sökparametrar genom att välja Formulär från menyn Infoga.

Formulärobjekt inkluderar textfält, menyer, alternativ och radioknappar. Du kan lägga till så många formulärobjekt du vill för att hjälpa användare att förfina sina sökningar. Kom dock ihåg att ju fler sökparametrar du har på söksidan, desto mer komplex blir din SQL-sats.

Lägg till en Skicka-knapp i formuläret (Infoga > Formulär > Knapp).
(Valfritt) Ändra etiketten på Skicka-knappen genom att välja knappen, öppna egenskapsinspektören (Fönster > Egenskaper) och ange ett nytt värde i rutan Värde.

Därefter ska du tala om för formuläret var sökparametrarna ska skickas när användaren klickar på Skicka-knappen.

Välj formuläret genom att välja taggen <form> i taggväljaren längst ned i dokumentfönstret, som följande bild visar:
Formulärtagg

I rutan Åtgärd i formulärets egenskapsinspektör anger du filnamnet på resultatsidan som ska utföra databassökningen.
I popup-menyn Metod väljer du en av följande metoder för att bestämma hur formuläret skickar data till servern:
  • GET skickar formulärdata genom att lägga till den i URL:en som en frågesträng. Eftersom URL:er är begränsade till 8192 tecken ska du inte använda metoden GET med långa formulär.

  • POST skickar formulärdata i meddelandets brödtext.

  • Default använder webbläsarens standardmetod (vanligtvis GET).

    Söksidan är klar.

Bygga en enkel resultatsida

När användaren klickar på formulärets Sök-knapp skickas sökparametrarna till en resultatsida på servern. Resultatsidan på servern, inte söksidan i webbläsaren, ansvarar för att hämta poster från databasen. Om söksidan skickar en enda sökparameter till servern kan du bygga resultatsidan utan SQL-frågor och variabler. Du skapar en grundläggande postuppsättning med ett filter som utesluter poster som inte uppfyller den sökparameter som skickades av söksidan.

Obs!

Om du har mer än ett sökvillkor måste du använda den avancerade dialogrutan Postuppsättning för att definiera din postuppsättning (se Bygga en avancerad resultatsida ).

Skapa postuppsättningen som ska innehålla sökresultaten

Öppna din resultatsida i dokumentfönstret.

Om du inte har en resultatsida än skapar du en tom dynamisk sida (Arkiv > Ny > Tom sida).

Skapa en postuppsättning genom att öppna panelen Bindningar (Fönster > Bindningar), klicka på Plus-knappen (+) och välja Postuppsättning från popup-menyn.
Kontrollera att den enkla versionen av dialogrutan Postmängd visas.
Dialogrutan Postmängd

Obs!

Om den avancerade dialogrutan visas istället växlar du till den enkla dialogrutan genom att klicka på knappen Enkel.

Ge postmängden ett namn och markera en anslutning.

Anslutningen ska vara till en databas som innehåller data som du vill att användaren ska söka i.

I popup-menyn Tabell väljer du den tabell som ska sökas i databasen.
Obs!

I en ensam-parameter-sökning kan du endast söka efter poster i en enda tabell. För att söka i mer än en tabell åt gången måste du använda den avancerade dialogrutan Recordset och definiera en SQL-fråga.

För att endast inkludera vissa av tabellens kolumner i recordset klickar du på Markerade och väljer önskade kolumner genom att Ctrl-klicka (Windows) eller Kommando-klicka (Macintosh) på dem i listan.

Du bör endast inkludera kolumner som innehåller information som du vill visa på resultatsidan.

Låt dialogrutan Recordset vara öppen för tillfället. Du använder den härnäst för att hämta parametrarna som skickas av söksidan och skapa ett recordset-filter för att utesluta poster som inte uppfyller parametrarna.

Skapa postmängdsfiltret

Från den första popup-menyn i Filter-området väljer du en kolumn i databastabellen där du ska söka efter en matchning.

Till exempel, om värdet som skickas av söksidan är ett stadsnamn, väljer du kolumnen i din tabell som innehåller stadsnamn.

Från popup-menyn bredvid den första menyn väljer du likhetstecknet (det bör vara standardvalet).
Från den tredje popup-menyn väljer du Formulärvariabel om formuläret på din söksida använder metoden POST, eller URL Parameter om den använder metoden GET.

Söksidan använder antingen en formulärvariabel eller en URL-parameter för att skicka information till resultatsidan.

I den fjärde rutan anger du namnet på formulärobjektet som accepterar sökparametern på söksidan.

Namnet på objektet fungerar också som namnet på formulär- variabeln eller URL-parametern. Du kan få namnet genom att växla till söksidan, klicka på formulärobjektet i formuläret för att markera det och kontrollera objektets namn i egenskapsinspektören.

Till exempel, anta att du vill skapa ett recordset som endast inkluderar äventyrs- resor till ett specifikt land. Anta att du har en kolumn i tabellen med namnet TRIPLOCATION. Anta också att HTML-formuläret på din söksida använder metoden GET och innehåller ett menyobjekt som kallas Location och som visar en lista över länder. Följande exempel visar hur filteravsnittet bör se ut:

Parametrar för formulärobjekt

(Valfritt) Klicka på Test, ange ett testvärde och klicka på OK för att ansluta till databasen och skapa en instans av postmängden.

Testvärdet simulerar värdet som annars skulle ha returnerats från söksidan. Klicka på OK för att stänga testpostmängden.

Klicka på OK om du är nöjd med postmängden.

Ett skript på serversidan infogas på din sida som kontrollerar varje post i databastabellen när det körs på servern. Om det angivna fältet i en post uppfyller filtervillkoret inkluderas posten i en postuppsättning.Skriptet bygger ett recordset som endast innehåller sökresultaten.

Nästa steg är att visa recordset på resultatsidan. För mer information, se Visa sökresultaten .

Bygga en avancerad resultatsida

Om söksidan skickar mer än en sökparameter till servern måste du skriva en SQL-fråga för resultat- sidan och använda sökparametrarna i SQL-variabler.

Obs!

Om du bara har ett sökvillkor kan du använda Recordset-dialogrutan för att definiera ditt recordset (se Bygg en grundläggande resultatsida).

Öppna resultatsidan i Dreamweaver och skapa sedan en recordset genom att öppna panelen Bindings (Window > Bindings), klicka på Plus-knappen (+) och välja Recordset från popup-menyn.
Kontrollera att den avancerade versionen av dialogrutan Postmängd visas.

Den avancerade dialogrutan innehåller ett textområde för att ange SQL-satser. Om den enkla dialogrutan visas istället, växla till den avancerade dialogratan genom att klicka på knappen Advanced.

Ge postmängden ett namn och markera en anslutning.

Anslutningen ska vara till en databas som innehåller data som du vill söka i.

Skriv en SELECT-sats i SQL-textområdet.

Se till att satsen inkluderar en WHERE-klausul med variabler för sökparametrarna.I följande exempel kallas variablerna varLastName och varDept:

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

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

För att minska mängden text du behöver skriva kan du använda trädet med databasobjekt längst ner i den avancerade Recordset-dialogrutan.För instruktioner, se Definiera en avancerad recordset genom att skriva SQL.

För hjälp med SQL-syntax, se SQL-grunderna på www.adobe.com/go/learn_dw_sqlprimer.

Ge SQL-variablerna värdena för sökparametrarna genom att klicka på Plus-knappen (+) i området Variables och ange variabelns namn, standardvärde (värdet som variabeln ska ta om inget körtidsvärde returneras) och körtidsvärde (vanligtvis ett serverobjekt som innehåller ett värde skickat av en webbläsare, som en begäranvariabel).

I följande ASP-exempel använder HTML-formuläret på söksidan metoden GET och innehåller ett textfält som kallas LastName och ett annat som kallas Department:

ASP-exempel

I ColdFusion skulle värden vid körning vara #LastName# och #Department#.I PHP är värdena vid körning $_REQUEST["LastName"] respektive $_REQUEST["Department"].

(Valfritt) Klicka på Test för att skapa en instans av recordset med standardvariabelvärdena.

Standardvärdena simulerar värdena som annars skulle ha returnerats från söksidan.Klicka på OK för att stänga testpostmängden.

Klicka på OK om du är nöjd med postmängden.

SQL-frågan infogas på din sida.

Nästa steg är att visa recordset på resultatsidan.

Visa sökresultaten

Efter att ha skapat en recordset som innehåller sökresultaten måste du visa informationen på resultatsidan.Att visa posterna kan vara så enkelt som att dra enskilda kolumner från panelen Bindings till resultatsidan.Du kan lägga till navigationslänkar för att gå framåt och bakåt genom recordsetet, eller du kan skapa en upprepande region för att visa mer än en post på sidan.Du kan även lägga till länkar på en detaljsida.

För mer information om metoder för att visa dynamiskt innehåll på en sida annat än att visa resultat i en dynamisk tabell, se Visa databasposter.

Placera insättningspunkten där du vill att den dynamiska tabellen ska visas på resultatsidan och välj Insert > Data Objects > Dynamic Data > Dynamic Table.
Fyll i dialogrutan Dynamic Table och välj recordset som du definierat för att hålla sökresultaten.
Klicka på OK. En dynamisk tabell som visar sökresultat förs in på resultatsidan.

Skapa en detaljsida för en resultatsida

Din uppsättning sök- och resultatsidor kan innehålla en detaljsida för att visa mer information om specifika poster på resultatsidan.I den här situationen fungerar din resultatsida också som huvudsida i ett huvud-detaljsidset.

Du kan skapa en länk som öppnar en relaterad sida och som skickar befintliga parametrar till den sidan. Serverbeteendet är bara tillgängligt när du använder ASP-servermodellen.

Innan du lägger till ett Go To Related Page server-beteende på en sida, se till att sidan tar emot formulär- eller URL-parametrar från en annan sida. Server-beteendets uppgift är att skicka dessa parametrar till en tredje sida. Du kan till exempel skicka sökparametrar som tas emot av en resultatsida till en annan sida och spara användaren från att ange sökparametrarna igen.

Du kan också välja text eller en bild på sidan som ska fungera som länk till den relaterade sidan, eller så kan du placera pekaren på sidan utan att välja något, och länktexten förs in.

I rutan Go To Related Page klickar du på Bläddra och letar upp den relaterade sidfilen.

Om den aktuella sidan skickar data till sig själv anger du den aktuella sidans filnamn.

Om parametrarna du vill skicka togs emot direkt från ett HTML-formulär med GET-metoden, eller finns listade i sidans URL, väljer du alternativet URL-parametrar.
Om parametrarna du vill skicka togs emot direkt från ett HTML-formulär med POST-metoden väljer du alternativet Formulärparametrar.
Klicka på OK.

När den nya länken klickas skickar sidan parametrarna till den relaterade sidan med en frågesträng.