Visualizzazione dei libri della biblioteca | Aulab

GUIDE PER ASPIRANTI PROGRAMMATORI

Visualizzazione dei libri della biblioteca

Dopo aver popolato il database è fondamentale offrire un’interfaccia che permetta di consultare facilmente i libri inseriti. Vediamo come realizzare questa parte nel nostro progetto.   Tabella con elenco libri. In libri.php, subito dopo il form di inserimento, viene generata dinamicamente una tabella HTML che visualizza l’elenco dei libri, ordinati dal più recente al meno…

Lezione 19 / 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!

Dopo aver popolato il database è fondamentale offrire un’interfaccia che permetta di consultare facilmente i libri inseriti. Vediamo come realizzare questa parte nel nostro progetto.

Tabella con elenco libri.

In libri.php, subito dopo il form di inserimento, viene generata dinamicamente una tabella HTML che visualizza l’elenco dei libri, ordinati dal più recente al meno recente.

$stmt = $pdo->query("SELECT * FROM libri ORDER BY id DESC");

La query recupera tutti i dati e li passa a un ciclo foreach, che costruisce la tabella:

echo "<table border='1'>";
echo "<tr><th>Titolo</th><th>Autore</th><th>Genere</th><th>Anno</th><th>Descrizione</th><th>Azioni</th></tr>";
foreach ($stmt as $libro) {
    echo "<tr>";
    echo "<td>" . htmlspecialchars($libro['titolo']) . "</td>";
    echo "<td>" . htmlspecialchars($libro['autore']) . "</td>";
    echo "<td>" . htmlspecialchars($libro['genere']) . "</td>";
    echo "<td>" . htmlspecialchars($libro['anno']) . "</td>";
    echo "<td>" . htmlspecialchars($libro['descrizione']) . "</td>";
    echo "<td><a href='libri.php?modifica={$libro['id']}'>Modifica</a> | <a href='libri.php?elimina={$libro['id']}'>Elimina</a></td>";
    echo "</tr>";
}
echo "</table>";

L’uso di htmlspecialchars() è una buona pratica per evitare l’inserimento di script potenzialmente dannosi, proteggendo l’applicazione da attacchi XSS. Inoltre, l’inserimento diretto dei link di modifica ed eliminazione consente di gestire le successive operazioni Update e Delete con un semplice clic.

Questa tabella diventa il cuore operativo della gestione della biblioteca, consentendo di controllare in tempo reale tutti i dati presenti e offrendo una panoramica strutturata dei contenuti.

Pagination.

Nel progetto base, la visualizzazione mostra tutti i risultati in un’unica tabella. Questo va bene per un numero limitato di elementi, ma in caso di database più ampi diventa poco efficiente. L’aggiunta della pagination rappresenta, quindi, un’evoluzione naturale per ottimizzare l’interfaccia e migliorare l’esperienza utente.

Una possibile implementazione consiste nel mostrare un numero fisso di libri per pagina (ad esempio 10), utilizzando i parametri LIMIT e OFFSET all’interno della query SQL:

$limit = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $limit;
$stmt = $pdo->prepare("SELECT * FROM libri ORDER BY id DESC LIMIT :limit OFFSET :offset");
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();

A questa logica si può abbinare un sistema di navigazione che consenta all’utente di muoversi tra le varie pagine, generando link del tipo:

<a href="libri.php?page=1">1</a> <a href="libri.php?page=2">2</a>

Questo meccanismo migliora notevolmente la scalabilità dell’applicazione e ne prepara la struttura a gestire collezioni sempre più grandi.

Introdurre la paginazione può sembrare un dettaglio, ma in realtà rappresenta un importante passo verso una gestione dei dati più efficiente, modulare e professionale, soprattutto in vista di sviluppi futuri o di una messa online dell’applicativo.

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