- Learn
- Guida Ultradev
- Impostare la ricerca semplice: parte II
Impostare la ricerca semplice: parte II
Cosa impareremo:
- Creare la pagina dei risultati
- 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”)

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):

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).

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).

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):

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.
Se vuoi aggiornamenti su Impostare la ricerca semplice: parte II inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Serverless for Developers: Tips for Your Next App
Danilo Poccia, di AWS, parla di architetture serverless e di come consentano di creare ed eseguire applicazioni e servizi senza […]