Operazioni CRUD
Cosa significa CRUD
Sezione intitolata “Cosa significa CRUD”CRUD indica quattro operazioni fondamentali sui dati:
- Create: creare
- Read: leggere
- Update: aggiornare
- Delete: cancellare
In un sito reale le usi continuamente: aggiungere un prodotto, mostrare una lista, modificare un profilo o eliminare un commento.
Create: inserire dati
Sezione intitolata “Create: inserire dati”<?php$stmt = $pdo->prepare( "INSERT INTO prodotti (nome, prezzo) VALUES (:nome, :prezzo)");
$stmt->execute([ "nome" => "Quaderno", "prezzo" => 3.50,]);Read: leggere dati
Sezione intitolata “Read: leggere dati”<?php$stmt = $pdo->query("SELECT id, nome, prezzo FROM prodotti");$prodotti = $stmt->fetchAll();
foreach ($prodotti as $prodotto) { echo $prodotto["nome"] . "\n";}fetchAll restituisce tutte le righe trovate.
Update: modificare dati
Sezione intitolata “Update: modificare dati”<?php$stmt = $pdo->prepare( "UPDATE prodotti SET prezzo = :prezzo WHERE id = :id");
$stmt->execute([ "prezzo" => 4.00, "id" => 1,]);WHERE è fondamentale: senza, rischi di modificare tutte le righe.
Delete: cancellare dati
Sezione intitolata “Delete: cancellare dati”<?php$stmt = $pdo->prepare("DELETE FROM prodotti WHERE id = :id");$stmt->execute(["id" => 1]);Anche qui WHERE stabilisce quali righe cancellare.
Collegamento con le pagine web
Sezione intitolata “Collegamento con le pagine web”Di solito un form raccoglie i dati, PHP li valida e una query preparata li salva o li modifica.
Ordine consigliato:
- ricevi i dati
- controlli che siano validi
- prepari la query
- esegui la query
- mostri un messaggio chiaro
Una piccola pagina di lettura
Sezione intitolata “Una piccola pagina di lettura”Una pagina che mostra prodotti potrebbe essere così:
<?php$stmt = $pdo->query("SELECT id, nome, prezzo FROM prodotti ORDER BY nome");$prodotti = $stmt->fetchAll();?>
<ul> <?php foreach ($prodotti as $prodotto): ?> <li> <?= htmlspecialchars($prodotto["nome"], ENT_QUOTES, 'UTF-8') ?> - <?= $prodotto["prezzo"] ?> euro </li> <?php endforeach; ?></ul>PHP legge i dati e HTML li mostra. htmlspecialchars protegge il testo prima che venga inserito nella pagina.
Confermare prima di cancellare
Sezione intitolata “Confermare prima di cancellare”La cancellazione è l’operazione più delicata. In un’interfaccia reale conviene chiedere conferma e usare POST, non un semplice link GET.
<form method="post" action="elimina.php"> <input type="hidden" name="id" value="1"> <button type="submit">Elimina</button></form>Riepilogo
Sezione intitolata “Riepilogo”CRUD non è una funzione speciale di PHP, ma un modo per ricordare le operazioni fondamentali sui dati. In PHP le realizzi con form, validazione, PDO e query preparate.