Rieccomi
sto facendo in questo modo, ma spesso alle prime 5 righe ho altre cose e non vorrei modificare sempre il file per eliminarle.
Esiste un modo per partire dalla sesta riga in poi?
Alla quinta riga ho il nome dei campi tipo "arrivo", "partenza" ecc
Codice PHP:
$row = 0;
$headers = [];
$filepath = "test.csv";
if (($handle = fopen($filepath, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if (++$row == 1) {
$headers = array_flip($data); // Get the column names from the header.
continue;
} else {
$arrivo = $data[$headers['arrivo']]; // Read row by the column name.
$partenza = $data[$headers['partenza']];
$prezzo = $data[$headers['prezzo']];
$supplemento_singola = $data[$headers['supplemento_singola']];
$costo_terzo_letto_12_anni = $data[$headers['costo_terzo_letto_12_anni']];
$arrivo_america = DateTime::createFromFormat('d/m/Y', $arrivo)->format('Y-m-d');
$partenza_america = DateTime::createFromFormat('d/m/Y', $partenza)->format('Y-m-d');
$supplementi_riduzioni="Supplemento camera singola: $supplemento_singola €
Costo Terzo letto bambini da 2 a 12 anni non compiuti: $costo_terzo_letto_12_anni €";
//inserisco i dati nel database
$sql = "insert into offerte_test
(valida_da, valida_fino, prezzo, supplementi_riduzioni)
values
(\"$arrivo_america\",\"$partenza_america\",\"$prezzo\",\"$supplementi_riduzioni\")";
$risultato = @mysql_query($sql) or die (mysql_errno() . ": " . mysql_error());
print "Riga $row: Dal $arrivo al $partenza, prezzo $prezzo €, supplemento singola $supplemento_singola €, costo terzo letto bambini $costo_terzo_letto_12_anni <br>";
}
}
fclose($handle);
}