Codice PHP:
function home_chart() {
global $d; // Sono i giorni dlla settimana (lunedì, martedì...)
$i = 1; $to = 10;
$stamp = today(time()); // function(today) -> partendo da uno timestamp trovaora, minuti, secondi, giorno, mese, anno e timestamp a mezzanotte
$stamp = $stamp['stamp']-(60*60*24*$to); //A mezzanotte di 7 giorni fa
$fix = $stamp;
//Carico gli intervalli.
while($i <= $to) {
$tmp = $stamp+86400;
//Scrivo la query
$whereClause[] = 'SELECT min(nstime) as nstime, count(id) as hits, sum(path) as visits, count(DISTINCT asx) as users FROM ' . PREFIX . 'records WHERE nstime >= "' . $stamp . '" AND nstime <= "' . $tmp . '"';
$stamp = $stamp+86400;
$i++;
}
foreach($whereClause as $query) {
$doQuery = query($query);
while($assoc = assoc($doQuery)) {
//Per il giorno ritrovo la data
$rtmp = today($assoc['nstime']);
$day = today($fix);
$return['days'][] = substr(strtolower($d[$day['dayname']]), 0, 3) . ' ' . $day['day'];
$return['hits'][] = (int)$assoc['hits'];
$return['visits'][] = (int)$assoc['visits'];
$return['users'][] = (int)$assoc['users'];
$fix+=86400;
}
}
return $return;
}
In sintesi il codice sopra fa 10 query che trovano informazioni specifiche giorno per giorno (limitatori nstime e variabili).
Come posso scrivere tutto questo in una sola query? Avevo provato con UNION ma senza successo... Cosa posso fare?