Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 30 di 40
  • livello principiante
Indice lezioni

Impostare la ricerca semplice: parte II

Creare la pagina dei risultati, mostrare i risultati della ricerca con il behavior "Repeat region"
Creare la pagina dei risultati, mostrare i risultati della ricerca con il behavior "Repeat region"
Link copiato negli appunti

Cosa impareremo:

  1. Creare la pagina dei risultati
  2. Mostrare i risultati della ricerca con il behavior "Repeat region"

Come avete osservato, la pagina di ricerca non pone grosse difficoltà
a livello di programmazione. Basta semplicemente inserire il form con gli elementi
essenziali per questo tipo di procedura: la casella in cui digitare il testo
da cercare e il pulsante per inviare il modulo. La pagina che richiede più
lavoro è invece quella dei risultati. Il nome del file deve essere quello
che abbiamo inserito nel campo "Action" delle proprietà del
form: dunque creiamo una nuova pagina, nominiamola "risultato.asp"
e salviamola. È su di essa che ora lavoreremo.

Creare la pagina dei risultati

Per prima cosa dobbiamo creare una nuova connessione al database "covers.mdb".
Il metodo è quello già visto: dal menu Modify scegliamo
Connections, quindi New e infine "Custom connection string".
Assegniamo alla connessione il nome "conn_covers". Poiché
useremo ancora il metodo ServerMapPath, sceglieremo l'opzione "Using driver
on application server" e inseriremo la seguente stringa di connessione
(fig. 1):
"Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.Mappath("/tutorial/dati/covers.mdb")

Figura

Il passo successivo è la creazione di un nuovo recordset. Apriamo la
finestra Data Bindings (Ctrl + F10), click su "+" e selezioniamo "Recordset
(Query)". La configurazione del recordset è fondamentale per stabilire
i criteri di ricerca. Osserviamo la figura e commentiamo i vari parametri (fig.
2):

Figura 2

Name: è il nome del recordset, "rs_ricerca".

Connection: qui va scelta la connessione al database. Selezioniamo ovviamente
quella appena creata, "conn_covers".

table: il valore di questo campo va impostato in base alla tabella del
database all'interno della quale effettueremo la ricerca. Delle tre tabelle
del nostro database selezioniamo "Copertine".

Columns: si tratta qui di scegliere in quali campi dovrà avvenire
la ricerca. Selezionando "All", la ricerca avverrà in tutti
i campi.

Filter: a questo punto bisogna impostare la query SQL che filtrerà
i dati. Ultradev ci consente di farlo in modo intuitivo grazie ad una serie
di menu. Per chi vuole impostare la query manualmente basta cliccare sul pulsante
"Advanced" e scrivere il codice nello spazio apposito. Veniamo ai
parametri. La prima casella è settata su "Artista":
significa che i risultati verranno fltrati in base al nome dell'artista (pertanto,
è opportuno, nella pagina di ricerca, specificare che la ricerca è
per artista
). Se avessimo voluto effettuare la ricerca in base al titolo
del cd, avremmo ovviamente scelto come valore "Titolo". Chiaro?
La seconda casella serve a impostare l'operatore della ricerca. Scegliamo "contains".
In tal modo, se nella casella di ricerca digitassimo "the", otterremmo
come risultato tutti i records dei nomi degli artisti in cui è contenuta
la stringa "the": quindi "The Police", "The
Cranberries", ma anche "mother" (se ci fosse). La scelta
dell'operatore dipende dalle proprie preferenze e Ultradev ci offre veramente
tutte le possibilità.
Ma da dove provengono i dati da ricercare? E che forma hanno? Sono parametri
essenziali e vanno impostati tramite la terza e la quarta casella. In quest'ultima
digitiamo il nome della casella di testo presente nella pagina di ricerca. Nella
terza selezioniamo "URL Parameter".

Sort: l'ultima sezione della finestra definisce i criteri di ordinamento
dei risultati.

Per finire, click su OK e il recordset è creato.

Mostrare i risultati della ricerca con il behavior "Repeat region"

A questo punto dobbiamo impostare la visualizzazione dei risultati. Per fare
ciò inseriamo innanzitutto una tabella. Dal menu Insert scegliamo
table oppure usiamo la combinazione di tasti "Ctrl + Alt + T".
Intendiamo visualizzare nei risultati solo il nome dell'artista e il titolo
del cd
, perciò la tabella avrà due righe e due colonne (fig.
3).

Figura 3

Useremo la prima riga per l'intestazione, la seconda per visualizzare i dati.
Sarebbe opportuno impostare due diversi colori di background per le due righe.

La tabella va ora "riempita" con i dati. Nella finestra Data Bindings
(Ctrl + F10) espandiamo il recordset cliccando sul segno "+". trasciniamo
con il mouse il campo "Artista" nella prima colonna della seconda
riga (fig. 4).

Figura 4

Facciamo lo stesso con il campo "Titolo" nella seconda colonna.

Se lasciassimo tutto così la pagina dei risultati visualizzerebbe solo
un record. Per mostrare tutti i record ottenuti dobbiamo ricorrere al behavior
"Repeat region". Visto che i risultati sono posti nella seconda
riga della tabella selezioniamo solo quest'ultima (badate a non applicare
il behavior all'intera tabella!
). Apriamo la finestra Server Behaviors (Ctrl
+ F9), click su "+" e selezioniamo "Repeat region". Ecco
la semplice finestra di configurazione (fig. 5):

figura

In "Recordset" impostiamo il nome "rs_ricerca" e stabiliamo
di mostrare 5 records alla volta. Clicchiamo su OK.

Per testare il tutto accedete al sito con i soliti dati (charlie, password),
immettete un valore nella casella di ricerca (provate con "police")
e inviate i dati.

Nelle prossime lezioni completeremo la procedura di ricerca con tre importanti
aggiunte: visualizzare un messaggio quando la ricerca non restituisce risultati,
costruire la ricerca per lettera, navigare tra i risultati.

Ti consigliamo anche