3.226.122.74 @ 2020/02/27 07:58:51
Coppa del Mondo di Sci Alpino 2020

Guida MC-Web - MC-link

Si tenga presente che questa guida viene proposta soprattutto a fini storici e gli esempi non funzionano più su questo sito.

Per contattare direttamente il Cybernauta: Mailto@cybernauta

Risposte alle domande più frequenti: FAQ@cybernauta

Il Cybernauta è presente anche su Twitter: Twitter@cybernauta

Le ricerche su database

MC-link Web ® fornisce agli utenti un semplice ma estremamente comodo programma di ricerca su database con possibilità di formattare a proprio piacimento il risultato dell'elaborazione. Se avete bisogno di semplici ricerche a chiave singola su database testuali grep.pl è quello che vi serve.

Il programma prevede un input tramite un semplice form e restituisce il risultato della ricerca con una normale pagina Web il cui formato viene impostato dall'utente che ne può predisporre l'intestazione, il fondo pagina e addirittura l'aspetto delle informazioni estratte.

grep.pl

<form action="/cgi-bin/grep.pl" method="post">

<input type="hidden" name="datafile"    value="database.txt" />
<input type="hidden" name="title"       value="Risultato" />
<input type="hidden" name="header"      value="head.htm" />
<input type="hidden" name="footer"      value="foot.htm" />
<input type="hidden" name="bold"        value="on" />
<input type="hidden" name="max_results" value="100" />
<input type="hidden" name="failure_url" value="failure.htm" />

<input size="20" name="keyword" />
<input type="submit" value="OK" />
</form>

I campi

Come si può notare il form prevede un unico campo per l'inserimento della chiave di ricerca (keyword) oltre al classico bottone per lanciare la procedura. La lunghezza del campo è a scelta dell'utente in funzione del tipo e del contenuto del database; nel nostro esempio abbiamo ipotizzato un campo lungo 20 caratteri. Si tenga presente che la ricerca non distingue fra maiuscole e minuscole.

Sono previsti i seguenti campi nascosti (hidden), cioè non visibili da parte di chi compila il form, contenenti informazioni da "passare" al programma:

  • datafile
    Il nome del database su cui effettuare la ricerca che deve essere un comune file di testo dove ogni riga rappresenta un record. Per indicatore di fine riga viene accettato sia il CR che il LF che la coppia CR+LF. I records possono essere sia a lunghezza fissa che variabile e non c'è bisogno che siano ordinati in quanto la ricerca è sequenziale. È inoltre possibile inserire direttamente tags html all'interno del database in modo che i records estratti in base alla chiave di ricerca specificata possano avere un aspetto piacevole.
  • title
    Il titolo che avrà la pagina Web generata dal programma contente il risultato della ricerca.
  • header
    È un file html che verrà inserito dal programma prima del risultato della ricerca. Si tenga presente che i record estratti dal database costituiscono parte integrante della pagina Web generata dal programma per cui, qualora non si siano utilizzati tags html direttamente nel database, è opportuno inserire quale ultima riga di questo file il tag <pre>.
  • footer
    È un file html che verrà inserito dal programma dopo il risultato della ricerca. Qualora l'ultima riga del file specificato nel campo "header" contenesse il tag "<pre>" è molto probabile che la prima riga di questo file debba contenere il tag </pre>.
  • bold
    Indica al programma, per ogni record estratto, di racchiudere tra i tags <B> e </B> (neretto) la chiave di ricerca trovata. Il campo può assumere solo il valori on (neretto attivato) e off (neretto disabilitato). Per default questo campo è impostato su: on.
  • max_results
    È un valore numerico che esprime il massimo numero di records che possono essere estratti. Se, per esempio, si imposta questo campo a 100 la procedura estrarrà soltanto le prime 100 ricorrenze della chiave di ricerca. Per default non c'è limite al numero di record che possono essere estratti.
  • failure_url
    È una normale pagina Web che verrà presentata all'utente qualora non venisse estratto alcun record contenente la chiave di ricerca impostata.

Le variabili

I nomi dei campi che costituiscono il form sono disponibili sotto forma di variabili all'interno dei file specificati in: "header", "footer" e "failure_url". Le variabili hanno lo stesso nome dei campi ma sono precedute dal simbolo del dollaro ($). Ad esempio il campo "keyword" sarà disponibile nella variabile $keyword. Si tenga presente che i nomi dei campi distinguono tra maiuscolo e minuscolo (case-sensitive) per cui, ad esempio, la variabile $DataFile non esiste ma esiste la variabile $datafile. Ovviamente la procedura, quando genera la pagina Web con il risultato della ricerca, sostituisce alle variabili il rispettivo contenuto.

Gli esempi

Abbiamo predisposto alcuni piccoli database di prova, contenenti tutti le stesse informazioni (dei nomi, città di residenza e professione), formattati ognuno in modo differente per mostrare quali possono essere le potenzialità di questa procedura. Provate la stessa chiave di ricerca per ogni database disponibile per confrontare il diverso tipo di pagina Web di risposta ottenibile e quindi guardate come sono strutturati i dati e i relativi file header e footer. Provate, inoltre, ricerche con chiave sicuramente non presente nel database per visionare il funzionamento del campo: "failure_url".

Esempio 1

Inserire la chiave di ricerca:

datafile
Mario    ROSSI       ROMA    impiegato
Romolo   SANTINI     ROMA    studente
Nando    ROMANAZZI   ROMA    ristoratore
Ambrogio BRAMBILLA   MILANO  imprenditore
Gennaro  ESPOSITO    NAPOLI  artigiano
Giovanni COLOMBO     MILANO  impiegato
Vincenzo ROMANO      NAPOLI  commerciante
Nicola   NOTARANGELO BARI    operaio
Daniele  MORIN       VENEZIA artigiano
Carmelo  PATERNO'    PALERMO operaio
header
<html>
<body>
<p>Utilizzo di grep.pl - Esempio 1</p>
<p>Records estratti in base alla chiave di ricerca: <b>$keyword</b></p>
<pre>
<b>Nome     Cognome     Citta'  Professione  Stato civile</b>
<hr />
footer
</pre>
<hr />
<p><small>Documento predisposto da Paolo Ciraci</small></p>
</body>
</html>

Esempio 2

Inserire la chiave di ricerca:

datafile
<p>Mario    ROSSI      <br />ROMA   <br />impiegato   <br />coniugato</p><hr />
<p>Romolo   SANTINI    <br />ROMA   <br />studente    <br />celibe   </p><hr />
<p>Nando    ROMANAZZI  <br />ROMA   <br />ristoratore <br />celibe   </p><hr />
<p>Ambrogio BRAMBILLA  <br />MILANO <br />imprenditore<br />coniugato</p><hr />
<p>Gennaro  ESPOSITO   <br />NAPOLI <br />artigiano   <br />coniugato</p><hr />
<p>Giovanni COLOMBO    <br />MILANO <br />impiegato   <br />celibe   </p><hr />
<p>Vincenzo ROMANO     <br />NAPOLI <br />commerciante<br />coniugato</p><hr />
<p>Nicola   NOTARANGELO<br />BARI   <br />operaio     <br />coniugato</p><hr />
<p>Daniele  MORIN      <br />VENEZIA<br />artigiano   <br />celibe   </p><hr />
<p>Carmelo  PATERNO'   <br />PALERMO<br />operaio     <br />coniugato</p><hr />
header
<html>
<body>
<p>Utilizzo di grep.pl - Esempio 2</p>
<p>Records estratti in base alla chiave di ricerca: <b>$keyword</b></p>
<p><b>Nome e Cognome<br />Città<br />Professione<br />Stato civile</b></p>
<hr />
footer
<p><small>Documento predisposto da Paolo Ciraci</small></p>
</body>
</html>

Esempio 3

Inserire la chiave di ricerca:

datafile
<tr><td>Mario   </td><td>ROSSI      </td><td>ROMA   </td><td>impiegato   </td><td>coniugato</td></tr>
<tr><td>Romolo  </td><td>SANTINI    </td><td>ROMA   </td><td>studente    </td><td>celibe   </td></tr>
<tr><td>Nando   </td><td>ROMANAZZI  </td><td>ROMA   </td><td>ristoratore </td><td>celibe   </td></tr>
<tr><td>Ambrogio</td><td>BRAMBILLA  </td><td>MILANO </td><td>imprenditore</td><td>coniugato</td></tr>
<tr><td>Gennaro </td><td>ESPOSITO   </td><td>NAPOLI </td><td>artigiano   </td><td>coniugato</td></tr>
<tr><td>Giovanni</td><td>COLOMBO    </td><td>MILANO </td><td>impiegato   </td><td>celibe   </td></tr>
<tr><td>Vincenzo</td><td>ROMANO     </td><td>NAPOLI </td><td>commerciante</td><td>coniugato</td></tr>
<tr><td>Nicola  </td><td>NOTARANGELO</td><td>BARI   </td><td>operaio     </td><td>coniugato</td></tr>
<tr><td>Daniele </td><td>MORIN      </td><td>VENEZIA</td><td>artigiano   </td><td>celibe   </td></tr>
<tr><td>Carmelo </td><td>PATERNO'   </td><td>PALERMO</td><td>operaio     </td><td>coniugato</td></tr>
header
<html>
<body>
<p>Utilizzo di grep.pl - Esempio 3</p>
<p>Records estratti in base alla chiave di ricerca: <b>$keyword</b></p>
<table border="1">
<tr><th>Nome</th><th>Cognome</th><th>Nato a</th><th>Professione</th><th>Stato civile</th><tr>
footer
</table>
<p><small>Documento predisposto da Paolo Ciraci</small></p>
</body>
</html>
Paolo Ciraci Paolo Ciraci - Guida MC-Web

Avvertenza

Si tenga presente che questa Guida è stata redatta all'inizio del 1996 e nonostante sia stata aggiornata più volte nel corso degli anni è possibile che alcune funzionalità descritte siano completamente obsolete oppure non siano più disponibili nelle soluzioni di hosting offerte attuamente da MC-link (ora IRIDEO). In ogni caso molte delle funzionalità descritte in queste pagine sono state utilizzate efficacemente su questo sito addirittura fino a giugno 2013 ad esempio per gestire il popolare dizionario nautico dei termini marinari italiani ed inglesi oppure l'archivio delle emittenti meteofax che hanno fatto uso efficacemente di mgrep.pl per l'interrogazione dei propri database.

K16PC71-articoli