=== Imparando.net ===

Semplice applicazione CRUD

Le operazioni CRUD (Create-Retrieve-Update-Delete) sono le operazioni di base che in generale qualsiasi applicazione basata su database espone ai propri utenti: in questo esempio viene mostrato come, utilizzando PHP procedurale, si possa creare una semplice interfaccia per la manipolazione dei dati della tabella 'studenti'.

Interfaccia CRUD in PHP

Da notare di questo codice l'organizzazione su unico file, che richiede quindi di individuare da quale operazione sia stata generata la richiesta. Possono essere individuate le seguenti operazioni:

  • indice: la pagina viene richiesta così com'è, senza passargli nessun parametro. Viene mostrato il bottone per inserire un nuovo studente e la tabella degli studenti già presenti
  • inserimento nuovo alunno: viene premuto il bottone 'Add student' e quindi viene creata una form vuota per inserire un nuovo studente
  • aggiornamento di un alunno: viene premuto il bottone 'Update' su una riga e viene mostrata la form con i dati dello studente da modificare
  • inserimento di un nuovo alunno nel DB: arrivano i dati tramite POST e bisogna aggiungere un nuovo studente nel DB
  • modifica di uno studente esistente nel DB: arrivano i dati tramite POST e bisogna modificare uno studente nel DB
  • cancellazione di uno studente: viene premuto il bottone 'Delete' e lo studente interessato deve essere rimosso dal DB
Per individuare in quali situazioni ci si trova vengono usati degli if che controllano se sono arrivati dei dati tramite GET o POST e eseguono l'azione corretta tra quelle individuate in precedenza.

L'organizzazione, pur essendo molto semplice, cerca di essere strutturata al meglio attraverso l'utilizzo di funzioni per la creazione della tabella, per la cancellazione e per la creazione del form di inserimento/modifica.

Inoltre si è utilizzata la sintassi HEREDOC, che permette di scrivere in maniera più leggibile stringhe molto lunghe che eventualmente contengono anche variabili che devono essere espanse (qui la documentazione).

Il file zip qua sotto contiene sia i file PHP che il file per la creazione della tabella in SQL.