getQuery(true)
->select('MAX(' . $db->quoteName('anno') . ')')
->from($db->quoteName('nuvrj_data_politica_elezioni_risultati'));
$db->setQuery($subQueryLastAnno);
$annoMax = $db->loadResult();
//var_dump($annoMax);
$subQueryPastAnno= $db->getQuery(true)
->select('MAX(' . $db->quoteName('anno') . ')')
->from($db->quoteName('nuvrj_data_politica_elezioni_risultati'))
->where($db->quoteName('anno') . ' < ' . (int)$annoMax)
->order($db->quoteName('anno') . ' DESC')
->setLimit(1);
$db->setQuery($subQueryPastAnno);
$annoMin = $db->loadResult();
//var_dump($annoMin);
$subQueryLastElettori= $db->getQuery(true)
->select('SUM(' . $db->quoteName('voti') . ')')
->from($db->quoteName('nuvrj_data_politica_elezioni_risultati'))
->where($db->quoteName('anno') . ' = ' . (int)$annoMax)
->where($db->quoteName('denominazione') . ' = ' . $db->quote('elettori'));
$db->setQuery($subQueryLastElettori);
$elettoriLast = $db->loadResult();
//var_dump($elettoriLast);
$subQueryPastElettori= $db->getQuery(true)
->select('SUM(' . $db->quoteName('voti') . ')')
->from($db->quoteName('nuvrj_data_politica_elezioni_risultati'))
->where($db->quoteName('anno') . ' = ' . (int)$annoMin)
->where($db->quoteName('denominazione') . ' = ' . $db->quote('elettori'));
$db->setQuery($subQueryPastElettori);
$elettoriPast = $db->loadResult();
//var_dump($elettoriPast);
$subQueryLastVotanti= $db->getQuery(true)
->select('SUM(' . $db->quoteName('voti') . ')')
->from($db->quoteName('nuvrj_data_politica_elezioni_risultati'))
->where($db->quoteName('anno') . ' = ' . (int)$annoMax)
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'));
$db->setQuery($subQueryLastVotanti);
$votantiLast = $db->loadResult();
//var_dump($votantiLast);
$subQueryPastVotanti= $db->getQuery(true)
->select('SUM(' . $db->quoteName('voti') . ')')
->from($db->quoteName('nuvrj_data_politica_elezioni_risultati'))
->where($db->quoteName('anno') . ' = ' . (int)$annoMin)
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'));
$db->setQuery($subQueryPastVotanti);
$votantiPast = $db->loadResult();
//var_dump($votantiPast);
?>
getQuery(true);
// Query 1° livello
$queryLivello01 = $db->getQuery(true)
->select('DISTINCT area_politica,coalizione')
->from($db->quoteName('nuvrj_data_politica_elezioni_risultati'))
->where(
'(' . $db->quoteName('anno') . ' = ' . $db->quote($annoMax) . 'OR' .
$db->quoteName('anno') . ' = ' . $db->quote($annoMin) . ')'
)
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'))
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'))
->group([
$db->quoteName('area_politica')
])
->order([
($db->quoteName('ordareapol') . 'ASC'),
($db->quoteName('area_politica') . 'ASC')
]);
$db->setQuery($queryLivello01);
$Livello01 = $db->loadObjectList();
// Stampa i risultati
echo '
';
echo '';
echo '| ' . htmlspecialchars($liv01->area_politica) . ' | ';
echo '
';
// Query 2° livello riferimento
$queryLivello02 = $db->getQuery(true)
->select([
'*',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione=a.denominazione AND anno = '.$annoMin.') AS pastanno',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione=a.denominazione AND anno = '.$annoMax.') AS lastanno',
'(SELECT sum(seggi) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione=a.denominazione AND anno = '.$annoMax.') AS lastseggi',
'(SELECT sum(seggi) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione=a.denominazione AND anno = '.$annoMin.') AS pastseggi',
])
->from($db ->quoteName('nuvrj_data_politica_elezioni_risultati', 'a'))
->where($db->quoteName('a.area_politica') . '=' . $db->quote($liv01->area_politica))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'))
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'))
->group([
$db ->quoteName('a.area_politica'),
$db ->quoteName('a.denominazione')
])
->order([
($db ->quoteName('a.area_politica') . 'ASC'),
($db ->quoteName('a.denominazione') . 'ASC')
]);
// Esegui 2° query riferimento
$db->setQuery($queryLivello02);
$livello02 = $db->loadObjectList();
foreach ($livello02 as $liv02) {
echo '';
echo '| '.htmlspecialchars_decode($liv02->denominazione).' | ';
echo '' . number_format($liv02->lastanno, 0, ',', '.') . ' | ';
echo '' . number_format(($liv02->lastanno/$votantiLast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($liv02->lastanno/$elettoriLast)*100, 3, ',', '.') . '% | ';
echo '' . number_format($liv02->lastseggi, 0, ',', '.') . ' | ';
echo '' . number_format($liv02->pastanno, 0, ',', '.') . ' | ';
echo '' . number_format(($liv02->pastanno/$votantiPast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($liv02->pastanno/$elettoriPast)*100, 3, ',', '.') . '% | ';
echo '' . number_format($liv02->pastseggi, 0, ',', '.') . ' | ';
echo '
';
}
//totale area politica
$querySubTot02 = $db->getQuery(true)
->select([
'*',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE area_politica=a.area_politica AND denominazione NOT LIKE "uninominale%" AND anno = '.$annoMin.') AS pastannoap',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE area_politica=a.area_politica AND denominazione NOT LIKE "uninominale%" AND anno = '.$annoMax.') AS lastannoap',
'(SELECT sum(seggi) FROM nuvrj_data_politica_elezioni_risultati WHERE area_politica=a.area_politica AND denominazione NOT LIKE "uninominale%" AND anno = '.$annoMax.') AS lastseggiap',
'(SELECT sum(seggi) FROM nuvrj_data_politica_elezioni_risultati WHERE area_politica=a.area_politica AND denominazione NOT LIKE "uninominale%" AND anno = '.$annoMin.') AS pastseggiap',
])
->from($db ->quoteName('nuvrj_data_politica_elezioni_risultati', 'a'))
->where($db->quoteName('a.area_politica') . '=' . $db->quote($liv02->area_politica))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'))
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'))
->group([
$db ->quoteName('a.area_politica')
]);
$db->setQuery($querySubTot02);
$subtot02 = $db->loadObject();
echo '';
echo '| totale '.htmlspecialchars_decode($subtot02->area_politica).' | ';
echo '' . number_format($subtot02->lastannoap, 0, ',', '.') . ' | ';
echo '' . number_format(($subtot02->lastannoap/$votantiLast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($subtot02->lastannoap/$elettoriLast)*100, 3, ',', '.') . '% | ';
echo '' . number_format($subtot02->lastseggiap, 0, ',', '.') . ' | ';
echo '' . number_format($subtot02->pastannoap, 0, ',', '.') . ' | ';
echo '' . number_format(($subtot02->pastannoap/$votantiPast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($subtot02->pastannoap/$elettoriPast)*100, 3, ',', '.') . '% | ';
echo '' . number_format($subtot02->pastseggiap, 0, ',', '.') . ' | ';
echo '
';
echo '
';
}
?>
getQuery(true)
->select([
'*'
])
->from($db ->quoteName('nuvrj_data_politica_elezioni_risultati', 'a'))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'))
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'));
$db->setQuery($queryElettori);
$elettori = $db->loadObject();
echo '
';
//totale votanti
$queryVotanti = $db->getQuery(true)
->select([
'*',
'(SELECT sum(seggi) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione NOT LIKE "uninominale%" AND anno = '.$annoMax.') AS lastseggitot',
'(SELECT sum(seggi) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione NOT LIKE "uninominale%" AND anno = '.$annoMin.') AS pastseggitot',
])
->from($db ->quoteName('nuvrj_data_politica_elezioni_risultati', 'a'))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'))
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'));
$db->setQuery($queryVotanti);
$votanti = $db->loadObject();
echo '
';
echo '';
echo '| VOTANTI | ';
echo '' . number_format($votantiLast, 0, ',', '.') . ' | ';
echo ' | ';
echo '' . number_format(($votantiLast/$elettoriLast)*100, 3, ',', '.') . '% | ';
echo '' . number_format($votanti->lastseggitot, 0, ',', '.') . ' | ';
echo '' . number_format($votantiPast, 0, ',', '.') . ' | ';
echo ' | ';
echo '' . number_format(($votantiPast/$elettoriPast)*100, 3, ',', '.') . '% | ';
echo '' . number_format($votanti->pastseggitot, 0, ',', '.') . ' | ';
echo '
';
echo '
';
//totale schede bianche
$querySchedeBianche = $db->getQuery(true)
->select([
'*',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione="schede bianche" AND anno = '.$annoMax.') AS lastschedebianche',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione="schede bianche" AND anno = '.$annoMin.') AS pastschedebianche',
])
->from($db ->quoteName('nuvrj_data_politica_elezioni_risultati', 'a'))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'))
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'));
$db->setQuery($querySchedeBianche);
$schedebianche = $db->loadObject();
echo '
';
echo '';
echo '| SCHEDE BIANCHE | ';
echo '' . number_format($schedebianche->lastschedebianche, 0, ',', '.') . ' | ';
echo '' . number_format(($schedebianche->lastschedebianche/$votantiLast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($schedebianche->lastschedebianche/$elettoriLast)*100, 3, ',', '.') . '% | ';
echo ' | ';
echo '' . number_format($schedebianche->pastschedebianche, 0, ',', '.') . ' | ';
echo '' . number_format(($schedebianche->pastschedebianche/$votantiPast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($schedebianche->pastschedebianche/$elettoriPast)*100, 3, ',', '.') . '% | ';
echo ' | ';
echo '
';
echo '
';
//totale schede nulle
$querySchedeNulle = $db->getQuery(true)
->select([
'*',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione="schede nulle" AND anno = '.$annoMax.') AS lastschedenulle',
'(SELECT sum(voti) FROM nuvrj_data_politica_elezioni_risultati WHERE denominazione="schede nulle" AND anno = '.$annoMin.') AS pastschedenulle',
])
->from($db ->quoteName('nuvrj_data_politica_elezioni_risultati', 'a'))
->where($db->quoteName('denominazione') . ' NOT LIKE ' . $db->quote('uninominale%'))
->where($db->quoteName('tipo_lista') . ' != ' . $db->quote('dati generali'));
$db->setQuery($querySchedeNulle);
$schedenulle = $db->loadObject();
echo '
';
echo '';
echo '| SCHEDE NULLE | ';
echo '' . number_format($schedenulle->lastschedenulle, 0, ',', '.') . ' | ';
echo '' . number_format(($schedenulle->lastschedenulle/$votantiLast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($schedenulle->lastschedenulle/$elettoriLast)*100, 3, ',', '.') . '% | ';
echo ' | ';
echo '' . number_format($schedenulle->pastschedenulle, 0, ',', '.') . ' | ';
echo '' . number_format(($schedenulle->pastschedenulle/$votantiPast)*100, 3, ',', '.') . '% | ';
echo '' . number_format(($schedenulle->pastschedenulle/$elettoriPast)*100, 3, ',', '.') . '% | ';
echo ' | ';
echo '
';
echo '';
echo '| ASTENSIONI | ';
echo '' . number_format(($elettoriLast-($votantiLast+$schedebianche->lastschedebianche+$schedenulle->lastschedenulle)), 0, ',', '.') . ' | ';
echo ' | ';
echo '' . number_format((($elettoriLast-($votantiLast+$schedebianche->lastschedebianche+$schedenulle->lastschedenulle))/$elettoriLast)*100, 3, ',', '.') . '% | ';
echo ' | ';
echo '' . number_format(($elettoriPast-($votantiPast+$schedebianche->pastschedebianche+$schedenulle->pastschedenulle)), 0, ',', '.') . ' | ';
echo ' | ';
echo '' . number_format((($elettoriPast-($votantiPast+$schedebianche->pastschedebianche+$schedenulle->pastschedenulle))/$elettoriPast)*100, 3, ',', '.') . '% | ';
echo ' | ';
echo '
';
echo '