Tworzenie stron wyszukiwania i wyników

Ostatnia aktualizacja 25 kwi 2024
Spostrzeżenie

Interfejs użytkownika w programie Dreamweaver i nowszych wersjach został uproszczony. Dlatego począwszy od wersji Dreamweaver niektóre opcje opisane w tym artykule mogą nie być dostępne. Więcej informacji zawiera ten artykuł.

O szukaniu i stronach z wynikami wyszukania

Możesz użyć programu Dreamweaver do stworzenia zestawu stron pozwalających użytkownikom przeszukiwać bazę danych i wyświetlać wyniki wyszukiwania.

W większości przypadków do dodania tej funkcji do aplikacji internetowej potrzebne są co najmniej dwie strony.Pierwsza strona to strona zawierająca formularz HTML, w którym użytkownicy wprowadzają parametry wyszukiwania. Chociaż ta strona nie wykonuje żadnego rzeczywistego wyszukiwania, nazywa się ją stroną wyszukiwania.

Druga potrzebna strona to strona wyników, która wykonuje większość pracy. Strona wyników wykonuje następujące zadania:

  • Wczytuje parametry wyszukiwania przesłane przez stronę szukania.

  • Łączy się z bazą danych i wyszukuje rekordy.

  • Tworzy zestaw rekordów ze znalezionych danych.

  • Wyświetla zawartość zestawu rekordów.

    Opcjonalnie można dodać stronę szczegółów.Strona szczegółów dostarcza użytkownikom więcej informacji o konkretnym rekordzie na stronie wyników.

    Jeśli masz tylko jeden parametr wyszukiwania, Dreamweaver pozwala dodać funkcje wyszukiwania do aplikacji internetowej bez używania zapytań SQL i zmiennych.Po prostu zaprojektuj swoje strony i wypełnij kilka okien dialogowych. Jeśli masz więcej niż jeden parametr wyszukiwania, musisz napisać instrukcję SQL i zdefiniować dla niej wiele zmiennych.

    Program Dreamweaver wstawia zapytanie SQL na stronie.Gdy strona jest uruchomiona na serwerze, każdy rekord w tabeli bazy danych jest sprawdzany. Jeśli określone pole w rekordzie spełnia warunki zapytania SQL, rekord zostaje uwzględniony w zestawie rekordów.Zapytanie SQL w rzeczywistości tworzy zestaw rekordów zawierający tylko wyniki wyszukiwania.

    Na przykład pracownicy działu sprzedaży mogą mieć informacje o klientach z określonego obszaru, którzy mają dochody powyżej określonego poziomu. W formularzu na stronie wyszukiwania współpracownik sprzedaży wprowadza obszar geograficzny i minimalny poziom dochodu, a następnie klika przycisk Wyślij, aby wysłać dwie wartości na serwer. Na serwerze wartości są przekazywane do instrukcji SQL strony wyników, która następnie tworzy zestaw rekordów zawierający tylko klientów z określonego obszaru z dochodami powyżej określonego poziomu.

Tworzenie strony wyszukiwania

Strona wyszukiwania w internecie zazwyczaj zawiera pola formularza, w których użytkownik wprowadza parametry wyszukiwania. Minimum strona wyszukiwania musi mieć formularz HTML z przyciskiem Wyślij.

Aby dodać formularz HTML do strony wyszukiwania, wykonaj następującą procedurę.

Otwórz stronę wyszukiwania lub nową stronę i wybierz Wstaw > Formularz > Formularz.

Na stronie zostanie utworzony pusty formularz. Może być konieczne włączenie Elementów niewidocznych (Widok > Pomoce wizualne > Elementy niewidoczne), aby zobaczyć granice formularza, które są reprezentowane przez cienkie czerwone linie.

Dodaj obiekty formularza, aby użytkownicy mogli wprowadzać parametry wyszukiwania, wybierając Formularz z menu Wstaw.

Obiekty formularza obejmują pola tekstowe, menu, opcje i przyciski radiowe.Można dodać dowolną liczbę obiektów formularza, aby pomóc użytkownikom doprecyzować wyszukiwanie.Należy jednak pamiętać, że im więcej parametrów wyszukiwania znajduje się na stronie wyszukiwania, tym bardziej złożona będzie instrukcja SQL.

Dodaj przycisk Wyślij do formularza (Wstaw > Formularz > Przycisk).
(Opcjonalnie) Zmień etykietę przycisku Wyślij, zaznaczając przycisk, otwierając inspektor właściwości (Okno > Właściwości) i wprowadzając nową wartość w polu Value.

Następnie należy wskazać formularzowi, gdzie wysłać parametry wyszukiwania, gdy użytkownik kliknie przycisk Wyślij.

Wybierz formularz, zaznaczając znacznik <form> w selektorze znaczników u dołu okna dokumentu, jak pokazuje następujący obraz:
Znacznik formularza

W polu Akcja w inspektorze właściwości formularza wprowadź nazwę pliku strony wyników, która będzie przeprowadzać wyszukiwanie w bazie danych.
W menu podręcznym Metoda wybierz jedną z następujących metod, aby określić sposób wysyłania danych przez formularz na serwer:
  • GET wysyła dane formularza, dołączając je do adresu URL jako ciąg zapytania. Ponieważ adresy URL są ograniczone do 8192 znaków, nie używaj metody GET z długimi formularzami.

  • POST wysyła dane formularza w treści wiadomości.

  • Default używa domyślnej metody przeglądarki (zwykle GET).

    Strona wyszukiwania jest gotowa.

Tworzenie podstawowej strony wyników

Gdy użytkownik kliknie przycisk Wyszukaj formularza, parametry wyszukiwania są wysyłane na stronę wyników na serwerze. Za pobieranie rekordów z bazy danych odpowiada strona wyników na serwerze, a nie strona wyszukiwania w przeglądarce. Jeśli strona wyszukiwania wysyła pojedynczy parametr wyszukiwania na serwer, można utworzyć stronę wyników bez zapytań SQL i zmiennych.Tworzysz podstawowy zestaw rekordów z filtrem, który wyklucza rekordy niespełniające parametru wyszukiwania przesłanego przez stronę wyszukiwania.

Spostrzeżenie

Jeśli masz więcej niż jeden warunek wyszukiwania, musisz użyć zaawansowanego okna dialogowego Zestaw rekordów, aby zdefiniować swój zestaw rekordów (zobacz Tworzenie zaawansowanej strony wyników ).

Utwórz zestaw rekordów do przechowywania wyników wyszukiwania

Otwórz stronę wyników w oknie dokumentu.

Jeśli nie masz jeszcze strony wyników, utwórz pustą stronę dynamiczną (Plik > Nowy > Pusta strona).

Utwórz zestaw rekordów, otwierając panel Powiązania (Okno > Powiązania), klikając przycisk Plus (+) i wybierając Zestaw rekordów z menu podręcznego.
Upewnij się, że wyświetlane jest uproszczone okno dialogowe Zestaw rekordów.
Okno dialogowe Zestaw rekordów

Spostrzeżenie

Jeśli zamiast tego pojawi się zaawansowane okno dialogowe, przełącz na proste okno dialogowe, klikając przycisk Proste.

Wprowadź nazwę zestawu rekordów i wybierz połączenie.

Połączenie powinno być z bazą danych zawierającą dane, w których ma wyszukiwać użytkownik.

W menu podręcznym Tabela wybierz tabelę do przeszukania w bazie danych.
Spostrzeżenie

W wyszukiwaniu z jednym parametrem można wyszukiwać rekordy tylko w pojedynczej tabeli. Aby przeszukiwać więcej niż jedną tabelę na raz, musisz użyć zaawansowanego okna dialogowego Zestaw rekordów i zdefiniować zapytanie SQL.

Aby uwzględnić w zestawie rekordów tylko niektóre kolumny tabeli, kliknij opcję Wybrane i wybierz żądane kolumny, klikając je na liście podczas przytrzymywania klawisza Ctrl (Windows) lub Command (Macintosh).

Należy uwzględnić tylko kolumny zawierające informacje, które mają być wyświetlane na stronie wyników.

Na razie pozostaw otwarte okno dialogowe Zestaw rekordów.Użyje się go następnie do pobrania parametrów wysłanych przez stronę wyszukiwania i utworzenia filtru zestawu rekordów w celu wykluczenia rekordów, które nie spełniają parametrów.

Tworzenie filtru zestawu rekordów

Z pierwszego menu podręcznego w obszarze Filtr wybierz kolumnę w tabeli bazy danych, w której chcesz wyszukać dopasowanie.

Jeśli na przykład wartością wysłaną przez stronę wyszukiwania jest nazwa miasta, wybierz kolumnę w tabeli zawierającą nazwy miast.

Z menu podręcznego obok pierwszego menu wybierz znak równości (powinien być ustawieniem domyślnym).
Z trzeciego menu podręcznego wybierz opcję Zmienna formularza, jeśli formularz na stronie wyszukiwania używa metody POST, lub Parametr URL, jeśli używa metody GET.

Strona wyszukiwania używa zmiennej formularza lub parametru URL do przekazywania informacji na stronę wyników.

W czwartym polu wprowadź nazwę obiektu formularza, który przyjmuje parametr wyszukiwania na stronie wyszukiwania.

Nazwa obiektu służy również jako nazwa zmiennej formularza lub parametru URL.Można uzyskać nazwę, przełączając się na stronę wyszukiwania, klikając obiekt formularza w formularzu, aby go wybrać, i sprawdzając nazwę obiektu w inspektorze właściwości.

Załóżmy na przykład, że chcesz utworzyć zestaw rekordów zawierający tylko wyprawy przygodowe do określonego kraju.Załóżmy, że mamy kolumnę w tabeli, która nazywa się TRIPLOCATION. Załóż również, że formularz HTML na stronie wyszukiwania używa metody GET i zawiera obiekt menu o nazwie Location wyświetlający listę krajów.W poniższym przykładzie pokazano, jak powinna wyglądać sekcja Filtr:

Parametry obiektu formularza

(Opcjonalnie) Kliknij opcję Testuj, wprowadź wartość testową i kliknij przycisk OK, aby połączyć się z bazą danych i utworzyć instancję zestawu rekordów.

Wartość testowa symuluje wartość, która w przeciwnym razie zostałaby zwrócona ze strony wyszukiwania.Kliknij przycisk OK, aby zamknąć testowy zestaw rekordów.

Po zakończeniu pracy z zestawem rekordów kliknij przycisk OK.

Skrypt po stronie serwera zostaje wstawiony na stronę i sprawdza każdy rekord w tabeli bazy danych podczas uruchamiania na serwerze.Jeśli określone pole w rekordzie spełnia warunek filtrowania, rekord zostaje uwzględniony w zestawie rekordów.Skrypt tworzy zestaw rekordów zawierający tylko wyniki wyszukiwania.

Następnym krokiem jest wyświetlenie zestawu rekordów na stronie wyników.Więcej informacji podano w sekcji Wyświetlanie wyników wyszukiwania.

Tworzenie zaawansowanej strony wyników wyszukiwania

Jeśli strona wyszukiwania przesyła na serwer więcej niż jeden parametr wyszukiwania, musisz napisać zapytanie SQL dla strony wyników i użyć parametrów wyszukiwania w zmiennych SQL.

Spostrzeżenie

Jeśli masz tylko jeden warunek wyszukiwania, możesz użyć prostego okna dialogowego Recordset , aby zdefiniować swój recordset (zobacz Utwórz podstawową stronę wyników).

Otwórz stronę wyników w Dreamweaver, a następnie utwórz recordset, otwierając panel Bindings (Okno > Bindings), klikając przycisk Plus (+) i wybierając Recordset z menu podręcznego.
Upewnij się, że pojawia się zaawansowane okno Zestaw rekordów.

Okno dialogowe w wersji zaawansowanej zawiera obszar tekstowy, w którym można wprowadzać instrukcje SQL. Jeśli zamiast tego pojawi się proste okno dialogowe, przełącz na zaawansowane okno dialogowe, klikając przycisk Zaawansowane.

Wprowadź nazwę zestawu rekordów i wybierz połączenie.

Połączenie powinno prowadzić do bazy danych zawierającej dane, które użytkownik będzie przeszukiwać.

Wprowadź instrukcję Select w obszarze tekstowym SQL.

Upewnij się, że instrukcja zawiera klauzulę WHERE ze zmiennymi do przechowywania parametrów wyszukiwania.W poniższym przykładzie zmienne noszą nazwy varLastName i varDept:

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

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

Aby zmniejszyć ilość pisania, możesz użyć drzewa elementów bazy danych na dole zaawansowanego okna dialogowego Recordset.Instrukcje można znaleźć w Zdefiniuj zaawansowany recordset przez pisanie SQL.

Aby uzyskać pomoc dotyczącą składni SQL, zobacz podstawy SQL na www.adobe.com/go/learn_dw_sqlprimer.

Nadaj zmiennym SQL wartości parametrów wyszukiwania, klikając przycisk Plus (+) w obszarze Variables i wprowadzając nazwę zmiennej, wartość domyślną (wartość, jaką zmienna powinna przyjąć, jeśli nie zostanie zwrócona wartość czasu wykonania) oraz wartość czasu wykonania (zwykle obiekt serwera przechowujący wartość wysłaną przez przeglądarkę, taki jak zmienna request).

W poniższym przykładzie ASP formularz HTML na stronie wyszukiwania używa metody GET i zawiera jedno pole tekstowe nazwane LastName i drugie nazwane Department:

Przykład ASP

W ColdFusion wartościami czasu wykonania byłyby #LastName# i #Department#.W kodzie PHP wartości wykonawcze musiałyby mieć nazwy $_REQUEST["LastName"] i $_REQUEST["Department"].

(Opcjonalnie) Kliknij Test, aby utworzyć instancję recordset używając domyślnych wartości zmiennych.

Wartości domyślne symulują wartości, które w przeciwnym przypadku zostałyby zwrócone ze strony wyszukiwania.Kliknij OK, aby zamknąć testowy recordset.

Po zakończeniu pracy z zestawem rekordów kliknij przycisk OK.

Zapytanie SQL zostanie wstawione na stronę.

Następnym krokiem jest wyświetlenie recordset na stronie wyników.

Wyświetlanie strony wyszukiwania

Po utworzeniu recordset do przechowywania wyników wyszukiwania musisz wyświetlić informacje na stronie wyników.Wyświetlanie rekordów może być prostą sprawą przeciągnięcia poszczególnych kolumn z panelu Bindings na stronę wyników.Możesz dodać linki nawigacyjne do przechodzenia w przód i w tył przez recordset lub możesz utworzyć obszar powtarzający, aby wyświetlić więcej niż jeden rekord na stronie.Można także dodać łącza do strony szczegółowej.

Więcej informacji o metodach wyświetlania dynamicznej zawartości na stronie innych niż wyświetlanie wyników w tabeli dynamicznej można znaleźć w Wyświetlanie rekordów bazy danych.

Umieść punkt wstawiania tam, gdzie chcesz, aby tabela dynamiczna pojawiła się na stronie wyników, i wybierz Insert > Data Objects > Dynamic Data > Dynamic Table.
Wypełnij okno dialogowe Dynamic Table, wybierając recordset zdefiniowany do przechowywania wyników wyszukiwania.
Kliknij przycisk OK. Dynamiczna tabela wyświetlająca wyniki wyszukiwania wstawiana jest na stronie wyników.

Utwórz stronę szczegółową dla strony wyników

Zestaw stron wyszukiwania i wyników może zawierać stronę szczegółów, na której wyświetlane są dodatkowe informacje o określonych rekordach na stronie wyników.W takiej sytuacji strona wyników pełni również funkcję strony głównej w zestawie stron głównej i szczegółowej.

Można utworzyć link, który otwiera powiązaną stronę i przekazuje istniejące parametry do tej strony.Zachowanie serwera jest dostępne tylko podczas korzystania z modelu serwera ASP.

Przed dodaniem zachowania serwera Przejdź do powiązanej strony do strony należy upewnić się, że strona otrzymuje parametry formularza lub adresu URL z innej strony.Zadaniem zachowania serwera jest przekazanie tych parametrów na trzecią stronę.Na przykład można przekazać parametry wyszukiwania otrzymane przez stronę wyników na inną stronę i uchronić użytkownika przed koniecznością ponownego wprowadzania parametrów wyszukiwania.

Można także wybrać tekst albo obraz na stronie do wykorzystania jako łącze do powiązanej strony lub można umieścić wskaźnik na stronie bez wybierania niczego, a tekst łącza zostanie wstawiony.

W polu Przejdź do strony powiązanej kliknij Przeglądaj i odszukaj plik strony powiązanej.

Jeśli bieżąca strona przesyła dane do siebie samej, wprowadź nazwę pliku bieżącej strony.

Jeśli parametry, które chcesz przekazać, zostały otrzymane bezpośrednio z formularza HTML za pomocą metody GET lub są wymienione w adresie URL strony, wybierz opcję Parametry URL.
Jeśli parametry, które chcesz przekazać, zostały otrzymane bezpośrednio z formularza HTML za pomocą metody POST, wybierz opcję Parametry formularza.
Kliknij przycisk OK.

Po kliknięciu nowego łącza strona przekazuje parametry do powiązanej strony za pomocą ciągu zapytania.