La seguente query:
Codice PHP:
SELECT ordini.*, sum(numeroridotti) AS vendite, eventi.*
from ordini, eventi
WHERE ordini.event_id = '".$_GET['id']."' GROUP BY eventi.event_id
non mi estrae il campo "prezzoridotti" dalla tabella eventi. Questa la struttura della tabella:
CREATE TABLE `eventi` (
`event_id` int(5) unsigned NOT NULL auto_increment,
`organizzatore_id` int(3) NOT NULL,
`evento` text NOT NULL,
`nomelocale` varchar(30) NOT NULL default '',
`cittaevento` varchar(30) NOT NULL default '',
`luogo` text NOT NULL,
`oraporte` time NOT NULL,
`dataevento` datetime NOT NULL default '0000-00-00 00:00:00',
`descrizione` text NOT NULL,
`bigliettiinteri` int(4),
`bigliettiridotti` int(4),
`disponibilitainteri` int(4),
`disponibilitaridotti` int(4),
`dirittoridotti` text NOT NULL,
`biglietti` int(4),
`disponibilita` int(4),
`prezzointeri` decimal (5,2),
`prezzoridotti` decimal (5,2),
`prezzo` decimal (5,2),
`tavoli` int(4),
`disponibilitatavoli` int(4),
`prezzotavoli` decimal (5,2),
`comunicazioni` text NOT NULL,
`autore` varchar(50) NOT NULL default '',
`data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`foto` varchar(50) NOT NULL default '',
`size` varchar(25) NOT NULL default '',
`type` varchar(25) NOT NULL default '',
`immagine` longblob NOT NULL,
PRIMARY KEY (`event_id`)
)
Ma la cosa assurda è un'altra. Come vedete nella query c'è la funzione SUM che estrae un campo dalla tabella "ordini". Esattamente il campo "numeroridotti". Altro non è che il numero di biglietti ridotti che viene acquistato da un utente (gli utenti possono essere più di uno, ecco perchè la funzione SUM). Per intenderci questa è la tabella ordini:
CREATE TABLE `ordini` (
`ordine_id` int(5) NOT NULL auto_increment,
`utente_id` int(5) NOT NULL,
`event_id` int(5) NOT NULL,
`numero` int(5),
`numerointeri` int(5),
`numeroridotti` int(5),
`numerotavoli` int(5),
`totale` decimal (5,2),
`data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`ordine_id`)
)
Allora, se al posto di "numeroridotti" uso numero ed al posto di prezzoridotti uso "prezzo", va tutto ok. Se vado a stampare la variabile "$results['prezzoridotti']" mi da zero. Eppure in database è valorizzato!!!! Perchè accade?