logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri

Lezioni di PHP - Lezione 3.1 - Lavorare con il database MySQL. Creazione delle tabelle.

09/10/2025, by Ivan

Nella lezione precedente abbiamo creato la connessione con il database. In questa lezione creeremo le tabelle per il nostro futuro sito. Per iniziare, aggiungiamo il nome del database necessario nella classe simpleCMS:

class simpleCMS {  // classe di gestione

  public $host = 'localhost'; // variabili per lavorare con il DB
  public $username = 'root';
  public $password = '';
  public $db = 'testDB';

Ora dobbiamo creare questo database sul nostro server MySQL. Se stai usando Denwer, puoi farlo tramite phpMyAdmin, che è incluso nel pacchetto. Apri phpMyAdmin e crea un nuovo database:

PhpMyAdmin

Ora che abbiamo configurato le impostazioni e creato il nuovo database, modifichiamo la connessione al server MySQL tramite PHP. Aggiorniamo il metodo di connessione al DB:

  public function connectDB() {
	$link = mysql_connect($this->host, $this->username, $this->password); // connessione al server MySQL
	if (!$link) {
		die('Errore di connessione: ' . mysql_error());
	}    
	mysql_select_db($this->db) or die("Impossibile trovare il DB. " . mysql_error()); // selezioniamo il DB
	return $link;
  }

Se tutto è andato a buon fine, non dovrebbe apparire alcun messaggio. Ora creiamo la tabella. Aggiungiamo il metodo buildDB(), che verrà chiamato direttamente all’interno del metodo connectDB():

  public function connectDB() {
	$link = mysql_connect($this->host, $this->username, $this->password); // connessione al server MySQL
	if (!$link) {
		die('Errore di connessione: ' . mysql_error());
	}    
	mysql_select_db($this->db) or die("Impossibile trovare il DB. " . mysql_error()); // selezioniamo il DB
        $this->buildDB(); // richiamiamo un metodo all’interno di un altro metodo della stessa classe
	return $link;
  }
  
  public function buildDB(){
  
  }

Ora, a ogni connessione, nel metodo buildDB() possiamo verificare se tutte le tabelle sono presenti. Per farlo, invieremo una query al database:

  public function buildDB(){
    $sql = 'CREATE TABLE IF NOT EXISTS messages ( 
			  title		VARCHAR(150),
			  bodytext	TEXT,
			  created		VARCHAR(100)
			)';
			
    return mysql_query($sql);    
  }

Vediamo ora come funziona questo codice.

Per prima cosa, scriviamo la query SQL in una variabile di tipo stringa e poi passiamo questa variabile alla funzione mysql_query(), che invia la richiesta al database.

La query SQL inizia con l’operatore CREATE TABLE, che serve a creare una tabella. Poi usiamo IF NOT EXISTS per controllare se la tabella messages esiste già o meno.

Tra parentesi tonde, dopo il nome della tabella, elenchiamo i campi che verranno creati insieme alla tabella: nel nostro caso title, bodytext e created. Dopo ogni nome di campo indichiamo il tipo di dato: VARCHAR(150) indica una stringa di massimo 150 caratteri, mentre TEXT è un campo di testo che permette di salvare articoli completi.

Ora, se salvi il file simpleCMS.php ed esegui index.php, verrà creata la tabella messages.

Utilizzeremo questa tabella nella prossima lezione. Se hai domande o errori, scrivili nei commenti.