Användarhandbok Avbryt

Bygga sök- och resultatsidor

 

 

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 tillåter användare att söka i din databas och visa sökresultaten.

I de flesta fall krävs minst två sidor om du vill lägga till den här funktionen i ditt webbprogram. Den första sidan är en sida som innehåller ett HTML-formulär där användarna anger sina sökparametrar. Även om den här sidan inte utför någon sökning kallas den i allmänhet för söksidan.

Den andra sidan som krävs är resultatsidan, som utför större delen av 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

    Du kan även lägga till en detaljsida. En detaljsida ger användarna mer information om en viss post på resultatsidan.

    Om du bara har en sökparameter gör Dreamweaver det möjligt att lägga till sökfunktioner i ditt webbprogram utan att du behöver använda SQL-frågor eller variabler. Skapa helt enkelt dina sidor och gå sedan igenom några dialogrutor. Har du mer än en sökparameter, måste du skriva en SQL-sats och definiera flera variabler för den.

    Dreamweaver infogar SQL-frågan på din sida. När sidan körs på servern, kontrolleras alla poster i databastabellen. Om det angivna fältet i en post uppfyller dina SQL-frågevillkor, inkluderas posten i postmängden. Den aktiva SQL-frågan skapar en postmängd som bara innehåller sökresultaten.

    Företagets säljare kanske till exempel har information om kunder i ett visst område med inkomster över en viss nivå. Säljaren anger det geografiska området och en minsta inkomstnivå i ett formulär på en söksida och skickar sedan det två värdena till en server genom att klicka på Skicka. På servern skickas värdena till resultatsidans SQL-sats, som sedan skapar en postmängd med kunderna i det angivna området med inkomster över den angivna nivån.

Bygga sökningssidan

Söksidor på webben innehåller i allmänhet formulärfält som användarna infogar sökparametrar i. Söksidan måste åtminstone bestå av ett HTML-formulär med en Skicka-knapp.

Slutför följande procedur om du vill lägga till ett HTML-formulär på söksidan.

  1. Ö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 kunna se formulärets omfattning, som representeras av tunna röda linjer.

  2. Lägg till formulärobjekt där användarna kan ange sina sökparametrar genom att välja Formulär från Infoga-menyn.

    Formulärobjekten omfattar textfält, menyer, alternativ och alternativknappar. Du kan lägga till så många formulärobjekt som du vill för att hjälpa användarna att förfina sina sökningar. Tänk bara på att ju fler sökparametrar sidan innehåller, desto komplexare kommer SQL-satsen att bli.

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

    I nästa moment kommer du att ange var formuläret ska skicka sökparametrarna när användarna klickar på Skicka-knappen.

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

  6. Ange filnamnet för den resultatsida som ska utföra sökningen i databasen i rutan Händelse i formulärets egenskapskontroll.
  7. Ange hur formuläret ska skicka data till servern genom att markera en av de följande metoderna på snabbmenyn Metod:
    • GET skickar formulärets data genom att de läggs till efter URL:en som en frågesträng. Eftersom URL:ar inte får vara längre än 8 192 tecken ska du inte använda metoden GET i långa formulär.

    • POST skickar formulärets data i ett meddelandes textkropp.

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

      Söksidan är klar.

Bygga en enkel resultatsida

När användaren klickar på formulärets Skicka-knapp skickas sökparametrarna till resultatsidan på servern. Resultatsidan på servern, och inte söksidan i webbläsaren, hämtar posterna från databasen. Om söksidan skickar en enda sökparameter till servern, kan du bygga resultatsidan utan några SQL-frågor eller variabler. Du kan skapa en enkel postmängd med ett filter som exkluderar poster som inte uppfyller de sökparametrar som skickats från söksidan.

Obs!

Om du har fler än ett sökvillkor måste du definiera din postmängd i den avancerade versionen av dialogrutan Postmängd (se Bygga en avancerad resultatsida ).

Skapa en postmängd att lagra sökresultaten i

  1. Öppna din resultatsida i dokumentfönstret.

    Om du inte har skapat någon resultatsida ännu, skapar du en tom sida (Arkiv > Ny > Tom sida).

  2. Skapa en postmängd genom att öppna panelen Bindningar (Fönster > Bindningar), klicka på plusknappen (+) och välja Postmängd på snabbmenyn.
  3. Kontrollera att den enkla versionen av dialogrutan Postmängd visas.
    Dialogrutan Postmängd

    Obs!

    Om den avancerade versionen av dialogrutan visas i stället, växlar du till den enkla dialogrutan genom att klicka på Enkel.

  4. Ge postmängden ett namn och markera en anslutning.

    Anslutningen bör vara till en databas med de data som du vill att användaren ska kunna söka i.

  5. Markera den tabell i databasen som ska genomsökas på snabbmenyn Tabell.
    Obs!

    I sökningar med bara en parameter kan du bara söka efter poster i en enda tabell. Om du vill söka i mer än en tabell åt gången, måste du definiera en SQL-fråga i den avancerade versionen av dialogrutan Postmängd.

  6. Om du bara vill inkludera några av tabellens kolumner i postmängden, klickar du på Markerat och markerar de kolumner du vill använda genom att CTRL-klicka (Windows) eller kommando-klicka (Macintosh) på dem i listan.

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

    Lämna dialogrutan Postmängd öppen tills vidare. Du kommer snart att använda den för att hämta parametrarna som skickas från söksidan och skapa ett postmängdsfilter som utesluter poster som inte uppfyller parametrarna.

Skapa postmängdsfiltret

  1. Markera den kolumn som ska genomsökas i databastabellen på snabbmenyn i filterområdet.

    Om värdet som skickas från söksidan till exempel är ett stadsnamn, markerar du den kolumn i tabellen som innehåller stadsnamn.

  2. Markera lika med-tecknet på snabbmenyn bredvid den första menyn (det bör redan vara markerat).
  3. Om formuläret på söksidan använder metoden POST väljer du Formulärvariabel på den tredje snabbmenyn. Om formuläret använder metoden GET väljer du URL-parameter.

    Söksidan skickar antingen informationen till resultatsidan i en formulärvariabel eller URL-parameter.

  4. I den fjärde rutan anger du namnet på det formulärobjekt som tar emot sökparametrarna på söksidan.

    Objektets namn används också som namn på formulärvariabeln eller URL-parametern. Du kan hämta namnet genom att växla till söksidan, markera formulärobjektet i formuläret genom att klicka på det och sedan kontrollera objektets namn i egenskapskontrollen.

    Antag till exempel att du vill skapa en postmängd som bara omfattar äventyrsresor till ett visst land. Antag att du har en kolumn i tabellen med namnet TRIPLOCATION. Anta dessutom att HTML-formuläret på söksidan utnyttjar metoden GET och innehåller ett menyobjekt som heter Location som visar en lista med länder. Följande exempel visar hur filterområdet skulle se ut i så fall:

    Parametrar för formulärobjekt

  5. (Valfritt) Klicka på Testa, ange ett testvärde och anslut till databasen och skapa en instans av postmängden genom att klicka på OK.

    Testvärdena simulerar det värde som annars hade returnerats från söksidan. Klicka på OK för att stänga testpostmängden.

  6. Om du är nöjd med postmängden, klickar du på OK.

    Ett serverskript infogas på din sida som kontrollerar alla poster i databastabellen när det körs på servern. Om det angivna fältet i en post uppfyller filtervillkoret, läggs posten till i postmängden. Skriptet bygger en postmängd som bara innehåller sökresultaten.

    Nästa steg är att visa postmängden på resultatsidan. Mer information finns i 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 resultatsidan och använda sökparametrarna i SQL-variabler.

Obs!

Har du bara ett sökvillkor, kan du definiera din postmängd i den enkla versionen av dialogrutan Postmängd (se Bygga en enkel resultatsida ).

  1. Öppna resultatsidan i Dreamweaver och skapa sedan en postmängd genom att öppna panelen Bindningar (Fönster > Bindningar), klicka på plusknappen (+) och välja Postmängd på snabbmenyn.
  2. Kontrollera att den avancerade versionen av dialogrutan Postmängd visas.

    Den avancerade dialogrutan har ett textområde där du anger SQL-satser. Om den enkla versionen av dialogrutan visas i stället, växlar du till den avancerade dialogrutan genom att klicka på Avancerat.

  3. Ge postmängden ett namn och markera en anslutning.

    Anslutningen bör vara till en databas med de data som du vill att användaren ska kunna söka i.

  4. Mata in en SELECT-sats i SQL-textområdet.

    Satsen måste innehålla en WHERE-instruktion med variabler att lagra sökparametrarna i. 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'
    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'

    Om du vill minska inmatningsarbetet kan du använda trädet med databasobjekt, i nedre delen av den avancerade versionen av dialogrutan Postmängd. Instruktioner finns i Definiera en avancerad postmängd genom att skriva SQL.

    Hjälp för SQL-syntax finns i SQL-introduktionen på www.adobe.com/go/learn_dw_sqlprimer_se.

  5. Ge SQL-variablerna sökparametrarnas värden genom att klicka på plusknappen (+) i området Variabler och ange variabelns namn, standardvärde (det värde variabeln ska ges om inget körtidsvärde returneras) och körtidsvärde (oftast ett serverobjekt som lagrar värdet som skickas från webbläsare, till exempel en frågevariabel).

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

    ASP-exempel

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

  6. (Valfritt) Skapa en instans av postmängden med variablernas standardvärden genom att klicka på Testa.

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

  7. Om du är nöjd med postmängden, klickar du på OK.

    SQL-frågan infogas på din sida.

    Nästa steg är att visa postmängden på resultatsidan.

Visa sökresultaten

När du har skapat en postmängd att lagra sökresultaten i, är nästa steg att visa informationen på resultatsidan. Att visa posterna behöver inte vara svårare än att dra de kolumner som du vill använda från panelen Bindningar till resultatsidan. Du kan lägga till navigeringslänkar för navigering framåt och bakåt i postmängden eller skapa en upprepad region, om du vill visa mer än en post på sidan. Du kan också lägga till länkar till en detaljsida.

Mer information om hur du visar dynamiskt innehåll på en sida, utöver att visa resultat i en dynamisk tabell, finns i Visa databasposter.

  1. Placera markören där du vill placera den dynamiska tabellen på resultatsidan och välj Infoga > Dataobjekt > Dynamiska data > Dynamisk tabell.
  2. Slutför dialogrutan Dynamisk tabell och markera den postmängd som du har definierat för dina sökresultat.
  3. Klicka på OK. En dynamisk tabell som visar sökresultaten infogas på resultatsidan.

Skapa en detaljsida för en resultatsida

Din uppsättning med sök- och resultatsidor kan utökas med en detaljsida, där du kan visa mer information om specifika poster på resultatsidan. I den här situationen fungerar din resultatsida även som huvudsida i en huvud-/detaljsideuppsättning.

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

Innan du lägger till serverfunktionen Gå till relaterad sida på en sida, kontrollerar du om sidan tar emot formulär- eller URL-parametrar från någon annan sida. Serverfunktionens uppgift är att vidarebefordra de parametrarna till en tredje sida. Du kan till exempel vidarebefordra sökparametrar som tagits emot av en resultatsida, så att användaren slipper skriva in sökparametrarna igen.

Dessutom kan du låta en text eller bild på sidan fungera som länk till den relaterade sidan. Du kan också infoga länktexten genom att placera pekaren på sidan utan att markera något.

  1. Klicka på Bläddra i rutan Gå till relaterad sida och sök reda på den relaterade filen.

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

  2. Om parametrarna som du vill skicka togs emot direkt från ett HTML-formuler med metoden GET, eller om de är listade i sidans URL, väljer du alternativet URL-parametrar.
  3. Om parametrarna som du vill skicka togs emot direkt från ett HTML-formulär med metoden POST ska du välja alternativet Formulärparametrar.
  4. Klicka på OK.

    När en användare klickar på den nya länken, vidarebefordrar sidan parametrarna till den relaterade sidan med hjälp av en frågesträng.

Få hjälp snabbare och enklare

Ny användare?