Il form di ricerca della biblioteca | Aulab

GUIDE PER ASPIRANTI PROGRAMMATORI

Il form di ricerca della biblioteca

Per permettere agli utenti di trovare rapidamente i libri presenti nella biblioteca, il progetto include un semplice ma efficace motore di ricerca. Questa funzionalità è essenziale per migliorare la fruibilità del sistema, ed è pensata per consententire di filtrare i contenuti in base a criteri specifici. Il form di ricerca è incluso nella pagina dashboard.php…

Lezione 21 / 25
Enza Neri
Immagine di copertina

Vuoi avviare una nuova carriera o fare un upgrade?

Trova il corso Digital & Tech più adatto a te nel nostro catalogo!

Per permettere agli utenti di trovare rapidamente i libri presenti nella biblioteca, il progetto include un semplice ma efficace motore di ricerca. Questa funzionalità è essenziale per migliorare la fruibilità del sistema, ed è pensata per consententire di filtrare i contenuti in base a criteri specifici. Il form di ricerca è incluso nella pagina dashboard.php e, una volta compilato, invia i dati al file libri.php tramite una richiesta GET. Questo tipo di comunicazione è particolarmente utile quando si desidera che l’URL rifletta i parametri della ricerca, rendendo così anche i risultati condivisibili o salvabili nei preferiti del browser.

Ecco un esempio del form:

<h2>Cerca un libro</h2>
<form method="get" action="libri.php">
    <input type="text" name="query" placeholder="Cerca per titolo, autore o genere">
    <button type="submit">Cerca</button>
</form>

L’elemento input consente all’utente di digitare liberamente un termine, che può corrispondere a parte del titolo, del nome dell’autore o della categoria (genere) del libro. Questa flessibilità nel campo di ricerca permette una maggiore tolleranza agli errori di digitazione e alle imprecisioni. L’interazione risulta così semplice e accessibile, indipendentemente dal dispositivo utilizzato, sia esso un desktop, un tablet o uno smartphone.

Inoltre, il form è progettato per integrarsi bene nell’interfaccia della dashboard, mantenendo una coerenza grafica e funzionale con il resto dell’applicazione. Il pulsante di invio attiva una richiesta GET che incorpora il parametro query all’interno dell’URL, rendendo il sistema trasparente nel funzionamento e facilmente condivisibile. Questo è particolarmente utile in un contesto multiutente o in scenari in cui si desidera salvare la ricerca eseguita per consultazioni future.

Una volta inviato, il valore del campo viene intercettato dal file libri.php, che si occupa di elaborarlo ed eseguire una query personalizzata sul database. L’intero processo avviene in pochi istanti, restituendo all’utente una lista filtrata di risultati rilevanti.

Ricerca per titolo, autore o categoria. 

Nel file libri.php, il codice PHP si occupa di rilevare la presenza del parametro query nell’array $_GET e costruisce una query SQL dinamica, che include una condizione di ricerca su più colonne contemporaneamente. In questo modo, è possibile ottenere risultati anche nel caso in cui l’utente non conosca esattamente dove si trovi la parola ricercata (titolo, autore o genere), aumentando la flessibilità del sistema.

if (isset($_GET['query'])) {
    $query = '%' . $_GET['query'] . '%';
    $stmt = $pdo->prepare("SELECT * FROM libri WHERE titolo LIKE ? OR autore LIKE ? OR genere LIKE ?");
    $stmt->execute([$query, $query, $query]);
} else {
    $stmt = $pdo->query("SELECT * FROM libri");
}

La concatenazione del simbolo % prima e dopo la stringa consente di cercare corrispondenze parziali in qualsiasi punto del campo, rendendo la ricerca molto più flessibile e tollerante. Questo significa che non è necessario conoscere l’esatto inizio o fine del testo cercato: anche un frammento all’interno del titolo, del nome dell’autore o del genere sarà sufficiente a produrre risultati. Ad esempio, cercando “Dost”, si potranno ottenere risultati come “Fedor Dostoevskij” oppure “I fratelli Karamazov di Dostoevskij”.

Questa tecnica è particolarmente utile nel contesto di una biblioteca, dove gli utenti possono avere ricordi frammentari o approssimativi di un’opera. Non sempre si ha a disposizione il titolo completo o l’autore preciso, quindi un sistema di ricerca basato su corrispondenze parziali rappresenta un enorme vantaggio in termini di accessibilità e funzionalità.

Inoltre, l’approccio con LIKE e % è facilmente estendibile: è possibile aggiungere ulteriori campi di ricerca, come l’anno di pubblicazione o la descrizione, rendendo il motore ancora più ricco e articolato. L’interrogazione finale restituisce, quindi, un elenco aggiornato di risultati coerenti, filtrati secondo criteri versatili e ben adattati all’esperienza reale dell’utente.

Sei indeciso sul percorso? 💭

Parliamone! Scrivici su Whatsapp e risponderemo a tutte le tue domande per capire quale dei nostri corsi è il più adatto alle tue esigenze.

Oppure chiamaci al 800 128 626