Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 43 di 56
  • livello intermedio
Indice lezioni

Creazione delle tabelle

Le funzioni per la creazione delle tabelle attraverso PHP
Le funzioni per la creazione delle tabelle attraverso PHP
Link copiato negli appunti

Il blog engine d'esempio prevede la creazione di tre tabelle destinate alla memorizzazione dei dati relativi al login per l'amministrazione, ai post e ai commenti degli utenti a corredo degli articoli.

La creazione delle tabelle è possibile passando alla funzione mysql_query() l'istruzione SQL "CREATE TABLE" a cui far seguire il nome della tabella da creare e quelli dei diversi campi che andranno a comporla completi di caratteristiche (tipo di dato associato, dimensione massima consentita se prevista per il tipo di dato scelto, possibilità o meno di ospitare valori nulli e così via).

Avendo già a disposizione la funzione personalizzata query(), non sarà necessario crearne una ex novo per la gestione di questa fase, basterà invece passare ad essa le istruzioni necessarie per la creazione delle tre tabelle desiderate:

// inclusione del file contenente la classe
include "funzioni_mysql.php"
// istanza della classe
$data = new MysqlClass();
// connessione a MySQL
$data->connetti();

// creazione della tabella per il login
$data->query("CREATE TABLE `login` (
`id_login` INT( 1 ) NOT NULL AUTO_INCREMENT ,
`username_login` VARCHAR( 10 ) NOT NULL ,
`password_login` VARCHAR( 40 ) NOT NULL ,
PRIMARY KEY ( `id_login` ))");

// creazione della tabella per i post
$data->query("CREATE TABLE `post` (
`id_post` INT( 5 ) NOT NULL AUTO_INCREMENT ,
`titolo_post` VARCHAR( 255 ) NOT NULL ,
`testo_post` TEXT NOT NULL ,
`autore_post` VARCHAR( 30 ) NOT NULL ,
`data_post` DATE NOT NULL ,
PRIMARY KEY ( `id_post` ) )");

// creazione della tabella per i commenti
$data->query("CREATE TABLE `commenti` (
`id_commento` INT( 6 ) NOT NULL AUTO_INCREMENT ,
`id_post` INT( 5 ) NOT NULL ,
`autore_commento` VARCHAR( 30 ) NOT NULL ,
`testo_commento` TEXT NOT NULL ,
`data_commento` DATE NOT NULL ,
`approvato` ENUM( '0', '1' ) NOT NULL ,
PRIMARY KEY ( `id_commento` ) )");

// disconnessione
$data->disconnetti();

Il codice è anche disponibile in formato Sql facendo clic sul link Visualizza il codice sorgente qui in basso.

-- Struttura della tabella `commenti`

CREATE TABLE `commenti` (
  `id_commento` int(6) NOT NULL auto_increment,
  `id_post` varchar(5) NOT NULL default '',
  `autore_commento` varchar(30) NOT NULL default '',
  `testo_commento` text NOT NULL,
  `data_commento` date NOT NULL default '0000-00-00',
  `approvato` enum('0','1') NOT NULL default '0',
  PRIMARY KEY  (`id_commento`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- Struttura della tabella `login` 

CREATE TABLE `login` (
  `id_login` int(1) NOT NULL auto_increment,
  `username_login` varchar(10) NOT NULL default '',
  `password_login` varchar(40) NOT NULL default '',
  PRIMARY KEY  (`id_login`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;

-- Struttura della tabella `post`

CREATE TABLE `post` (
  `id_post` int(5) NOT NULL auto_increment,
  `titolo_post` varchar(255) NOT NULL default '',
  `testo_post` text NOT NULL,
  `autore_post` varchar(30) NOT NULL default '',
  `data_post` date NOT NULL default '0000-00-00',
  PRIMARY KEY  (`id_post`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

Nelle tabelle create sono stati inseriti numerosi campi che permettono di porre in relazione i dati all'interno delle tabelle stesse e tra i campi delle varie tabelle; un'idea più chiara delle relazioni create si otterrà con un'analisi attenta della struttura delle tabelle che vedremo nella prossima lezione.

Ti consigliamo anche