Ciao a tutti 
Sto utilizzando la classe Excel Reader per popolare un db mysql tramite il caricamento automatizzato ( e schedulato ) di un file excel.
Tutto funziona bene, ma c'è un'anomalia strana per quanto riguarda un campo che contiene una data. Non è che non la legga o non la scriva: è che la scrive portandola avanti di un giorno, cioè se il dato in excel è 01/02/2009, lui in database (e anche a video) restituisce 02/02/2009.
Vi lascio il codice:
Codice PHP:
<?php
require_once 'Excel/reader.php';
require_once 'conn.inc.php';
require_once 'connect.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251'); // Set output Encoding.
$data->read('file_excel.xls');
error_reporting(E_ALL ^ E_NOTICE);
function convertiData($datainiz){
$dataFinale = explode ('/',$datainiz);
$dataFinale = array_reverse($dataFinale);
//echo $datainiz; <---- anche questi echo restituiscono la data avanti di 1 giorno!
//echo $dataFinale[2]; <---- anche questi echo restituiscono la data avanti di 1 giorno!
return implode($dataFinale,'-');
}
echo "<table border='1'>";
for ($i = 3; $i <= $data->sheets[0]['numRows']; $i++) {
echo "<tr>";
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo "<td>".$data->sheets[0]['cells'][$i][$j]."</td>";
$campo_1 = $data->sheets[0]['cells'][$i][2];
$campo_2 = $data->sheets[0]['cells'][$i][3];
$campo_3 = $data->sheets[0]['cells'][$i][4];
$campo_4 = $data->sheets[0]['cells'][$i][5];
$data_4 = convertiData($campo_4);
$campo_5 = $data->sheets[0]['cells'][$i][6];
}
$insert = "INSERT INTO tabella (Lavorazioni,SS,TDOC,DATA,DOCUMENTI) VALUES ('$campo_1','$campo_2','$campo_3','$data_4','$campo_5')";
$ris = dbquery($insert);
echo "</tr>";
}
echo "</table>";
?>
Idee? Grazie mille!