Ho provato ad ovviare in questo modo:
Codice PHP:
<?php
include("config.php");
mysql_connect($db_host,$db_user,$db_password,$db_name) or die ("non riesco a connettermi");
mysql_select_db("$db_name") or die ("Non riesco a selezionare il database");
if(empty($_GET["id"])){
echo"Non hai selezionato nulla";
}
else{
$query = mysql_query("SELECT eventi.event_id, sum(ordini.numero) FROM eventi INNER JOIN ordini ON ordini.event_id = eventi.event_id
WHERE eventi.event_id = '".$_GET['id']."'
GROUP BY eventi.event_id") or die( mysql_error() . "
" . $sql);
$str = '<table border=0 bordercolor=#000000>';
$str.= '<thead>';
$str.= '<tr>';
$str.= '<th style=\'padding-right:20px;\'>Biglietti venduti</th>';
$str.= '</tr>';
$str.= '</thead>';
$str.= '<tbody>';
while($results = mysql_fetch_array($query)) {
$str.='<tr>';
$str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['numero'].'</td>';
$str.='</tr>';
}
$str.= '</tbody>';
$str.= '</table>';
echo $str;
}
?>
in pratica passo l'id dell'evento dalla pagina precedente tramite GET. Poi la query col join lavora su due tabelle. La prima eventi, l'altra ordini.
Eccole qui
CREATE TABLE `eventi` (
`event_id` int(5) unsigned NOT NULL auto_increment,
`organizzatore_id` int(3) NOT NULL,
`evento` text NOT NULL,
`luogo` text NOT NULL,
`giorno` int(2) NOT NULL default '',
`mese` int(2) NOT NULL default '',
`anno` int(4) NOT NULL default '',
`ora` int (4) NOT NULL default '',
`oraporte` time NOT NULL,
`descrizione` text NOT NULL,
`biglietti` int(3),
`disponibilita` int(3),
`prezzo` decimal (5,2),
`comunicazioni` text NOT NULL,
`autore` varchar(50) NOT NULL default '',
`data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`nome` varchar(50) NOT NULL default '',
`size` varchar(25) NOT NULL default '',
`type` varchar(25) NOT NULL default '',
`immagine` longblob NOT NULL,
`pub` int(1) NOT NULL default '0',
PRIMARY KEY (`event_id`)
)
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),
`totale` decimal (5,2),
`data` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`ordine_id`)
)
ora, l'esecuzione della quesry mi da questo risultato.
Undefined index: numero in c:\programmi\easyphp1-8\www\progetto lista facile\lista-facile\detailsevent.php on line 205
Perchè???????????????????????????????????????????? ??????????????????