in pratica ho una tabella nel mio database che contiene le vendite di 3 anni(05/06/07) dove ogni riga è così composta:
filiale - prodotto - quantità - anno
e devo invece ottenere una tabella con questa struttura:
filiale - prodotto - quantità05 - quantità06 - quantità07
ho pensato dunque di fare uno script in php per crearmi una matrice che abbia la forma desiderata
lo script prende in input la tabella delle vendite (venditaRipulita) e un'altra tabella che ha solo le colonne filiale e prodotto e che contiene tutte le coppie (filiale, prodotto) di venditaRipulita ripetute una sola volta
Codice PHP:
$venditaRagruppata = file('C:Documents and SettingsSalvoDesktopGiovanniClaudiofile da importareExport FOCUSvenditaragruppata.csv'); //mette in $venditaRagruppata il contenuto di venditaragruppata.txt
$venditaRipulita = file('C:Documents and SettingsSalvoDesktopGiovanniClaudiofile da importareExport FOCUSvenditaripulita.csv');
dopo di che esegue un ciclo for per creare la matrice che deve avere la stessa dimensione di venditaRagruppata ma qualche colonna in + per ogni riga
Codice PHP:
for($x=0;$x<$righeRagruppata;$x++)
{
$riga = explode(",",$venditaRagruppata[$x]);
$riga[1] = substr($riga[1],0,3);
$riga[2] = "\"\"";//aggiunto
$riga[3] = "\"\"";
$riga[4] = "\"\"";
$riga[4] = $riga[4]."\r";
$matrice[$x] = implode(",",$riga);
}
a questo punto faccio i 2 for annidati xkè devo scorrere tutta la tabella venditaRipulita e controllare per ogni sua riga che esista la stessa coppia nella tabella venditaRagruppata...se esiste allora vado a guardare nella tabella venditaRipulita l'anno di vendita e la quantità di prodotto venduto che andrò ad insierire nella matrice nella colonna apposita
Codice PHP:
if($riga2[0]==$riga3[0])
{
if($riga2[1]==substr($riga3[1],0,3))
{
if($riga2[3]=="\"2005\"\r\n")
{
$riga3[2] = $riga2[2];
$matrice[$j] = implode(",",$riga3);
}elseif($riga2[3]=="\"2006\"\r\n")
{
$riga3[3] = $riga2[2];
$matrice[$j] = implode(",",$riga3);
}else
{
$riga3[4] = $riga2[2]."\r";
$matrice[$j] = implode(",",$riga3);
}
}
}
alla fine scrivo il contenuto di matrice nel file venditaPerAnni.txt
Codice PHP:
$handle = fopen("C:Documents and SettingsSalvoDesktopGiovanniClaudiofile da importareExport FOCUSVenditaPerAnni.txt","w");
for ($j=0;$j<$righeRagruppata;$j++)
{
fwrite($handle,$matrice[$j]);
}
fclose($handle);
?>
spero di essere stato chiaro