Salve a tutti,
il problema di oggi è il seguente...
ho degli iscritti ad una newsletter (sul database) e vorrei fare un piccolo report diviso per nazione.
ho una array associativo delle nazioni tipo "IT"=>"Italia"
il problema è che l'array è parecchio nutrito (tipo oltre il centinaio di record)
per generare la mia tabella ho creato una cosa del genere (che restringo per celerità)
Codice PHP:
$countries2=array("AF"=>"Afghanistan","AL"=>"Albania","IT"=>"Italy","JM"=>"Jamaica","JP"=>"Japan","US"=>"United States");
$list='';
$c=0;
foreach ($countries2 as $sigla=>$paese){
if($c>0){
$comma=",";
}else{
$comma="";
}
$list.=" $comma SUM(IF(country='$sigla',1,0)) AS ".fullReplace($paese);
$c++;
}
//print $list;
//////////////////////////////////////////////////////////////////////////////////////////
$q="SELECT $list FROM mailing GROUP BY country ORDER BY country";
//che genera questa
/*
SELECT SUM(IF(country='AF',1,0)) AS Afghanistan , SUM(IF(country='AL',1,0)) AS Albania , SUM(IF(country='IT',1,0)) AS Italy , SUM(IF(country='JM',1,0)) AS Jamaica , SUM(IF(country='JP',1,0)) AS Japan , SUM(IF(country='US',1,0)) AS United_States FROM mailing GROUP BY country ORDER BY country
*/
il problema è che con l'array originale (quello massiccio) non funziona....
esiste un modo per ottenere lo stesso risultato in maniera più funzionale??
grazie!!!