Codice PHP:
$tqq ='SELECT s.*, p.*, FROM_UNIXTIME(p.data_apertura,\'%H:%i del %d.%m.%Y\') AS data_apertura_comoda, '
.' o.userid AS userid_tuo, o.stai_giocando_ora AS giochi_partita, '
.' o1.userid AS N_userid, o1.username AS N_username, o1.email AS N_email, o1.ultima_data AS N_ultima_data, '
.' o2.userid AS S_userid, o2.username AS S_username, o2.email AS S_email, o2.ultima_data AS S_ultima_data, '
.' o3.userid AS E_userid, o3.username AS E_username, o3.email AS E_email, o3.ultima_data AS E_ultima_data, '
.' o4.userid AS O_userid, o4.username AS O_username, o4.email AS O_email, o4.ultima_data AS O_ultima_data, '
.' NOW() AS data_timestamp '
.' FROM (p_partita_dati p, p_stanze s, online AS o) '
.' LEFT JOIN online AS o1 ON (o1.userid=p.gNord) '
.' LEFT JOIN online AS o2 ON (o2.userid=p.gSud) '
.' LEFT JOIN online AS o3 ON (o3.userid=p.gEst) '
.' LEFT JOIN online AS o4 ON (o4.userid=p.gOvest) '
.' WHERE '
.' p.stanza_assegnata=\''.$roomid.'\' AND s.id = p.stanza_assegnata AND p.tavolo_da_pulire!=\'P\' AND o.userid=\''.$userid.'\'';
e questa è la struttura delle table
codice:
CREATE TABLE IF NOT EXISTS `online` (
`session_id` varchar(90) NOT NULL default '',
`userid` int(11) NOT NULL default '0',
`sesso` enum('0','1') NOT NULL default '1',
`supporter` enum('Y','N') NOT NULL default 'N',
`username` varchar(18) NOT NULL default '',
`email` varchar(100) NOT NULL default '',
`data_entrata` int(11) NOT NULL default '0',
`ultima_data` int(11) NOT NULL default '0',
`lato` enum('nord','sud','est','ovest') NOT NULL default 'nord',
PRIMARY KEY (`session_id`),
KEY `userid` (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Struttura della tabella `p_partita_dati`
--
CREATE TABLE IF NOT EXISTS `p_partita_dati` (
`idpartita` int(11) unsigned NOT NULL auto_increment COMMENT 'diventa pure il n. della stanza della chat!',
`tavolo_assegnato` int(11) NOT NULL default '0' COMMENT 'generato random tra 1mln e 1mld',
`stanza_assegnata` tinyint(4) NOT NULL default '0',
`nome_assegnato` varchar(60) NOT NULL default ' - -',
`stato_partita` enum('in_attesa','in_preparazione','in_corso','terminata_interrotta','terminata_da_pulire','terminata_da_eliminare','terminata_correttamente','terminata_abbandonata') NOT NULL default 'in_attesa',
`in_classifica` enum('Y','N') NOT NULL default 'N',
`posti_assegnati` enum('0','1') NOT NULL default '0',
`data_apertura` int(11) NOT NULL default '0',
`data_inizio_partita` int(11) NOT NULL default '0',
`data_fine_partita` int(11) NOT NULL default '0',
`userid` int(11) NOT NULL default '0',
`codice` varchar(12) NOT NULL default '',
`tot_giocatori` enum('2','4') NOT NULL default '2',
`NS_punti` smallint(6) NOT NULL default '0',
`NS_vp` tinyint(4) NOT NULL default '0',
`EO_punti` smallint(6) NOT NULL default '0',
`EO_vp` tinyint(4) NOT NULL default '0',
`gNORD` int(11) NOT NULL default '0',
`gSUD` int(11) NOT NULL default '0',
`gEST` int(11) NOT NULL default '0',
`gOVEST` int(11) NOT NULL default '0',
`lato_serve` enum('nord','sud','est','ovest') NOT NULL default 'nord',
`lato_riceve` enum('nord','sud','est','ovest') NOT NULL default 'nord',
`inverti_giocatori` enum('nord-sud','est-ovest','fatto','non-serve') NOT NULL default 'nord-sud',
`gNORD_accesso` int(11) NOT NULL default '0',
`gSUD_accesso` int(11) NOT NULL default '0',
`gEST_accesso` int(11) NOT NULL default '0',
`gOVEST_accesso` int(11) NOT NULL default '0',
`ultimo_turno` enum('nord','sud','est','ovest') NOT NULL default 'nord',
PRIMARY KEY (`idpartita`),
KEY `stanza_assegnata` (`stanza_assegnata`),
KEY `tavolo_assegnato` (`tavolo_assegnato`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='le partite da aprire' AUTO_INCREMENT=376 ;
-- --------------------------------------------------------
--
-- Struttura della tabella `p_stanze`
--
CREATE TABLE IF NOT EXISTS `p_stanze` (
`id` tinyint(4) NOT NULL auto_increment,
`nome_stanza` varchar(15) NOT NULL default '',
`stato` enum('aperta','chiusa') NOT NULL default 'aperta',
`tavoli_occupati` tinyint(4) NOT NULL default '0',
`tavoli_in_attesa` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `lettera` (`nome_stanza`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;