Operazioni CRUD
Cosa significa CRUD
Sezione intitolata “Cosa significa CRUD”CRUD indica le quattro operazioni principali 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, 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 legge 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 e 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 decide cosa cancellare.
Collegamento con le pagine web
Sezione intitolata “Collegamento con le pagine web”Di solito un form raccoglie dati, PHP li valida, poi 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 cosi:
<?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. HTML li mostra. htmlspecialchars protegge il testo prima di inserirlo nella pagina.
Confermare prima di cancellare
Sezione intitolata “Confermare prima di cancellare”La cancellazione e l’operazione piu 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 e una funzione speciale di PHP. E un modo per ricordare le azioni fondamentali sui dati. In PHP le realizzi con form, validazione, PDO e query preparate.