$col) { if (isset($idx[$col])) error_system("column name \"$col\" appears more than once"); $idx[$col] = $i; } print_r($idx); $barcode_idx = check_and_extract($idx, 'Leerlingnummer'); $betaald_idx = check_and_extract($idx, 'Is factuur betaald'); $betaalwijze_idx = check_and_extract($idx, 'Betaalwijze'); $factuurnummer_idx = check_and_extract($idx, 'Factuurnummer'); $bedrag_idx = check_and_extract($idx, 'Totaal factuurbedrag'); $no = 1; $skipped = 0; while (!feof($csv)) { $no++; if (!($row = fgetcsv($csv))) { if (feof($csv)) break; else error_system("unable to read line $no of $filename.csv"); } mdb2_exec($db, "UPDATE wiscollect_files SET wiscollect_scanned = wiscollect_scanned + 1 WHERE wiscollect_file_id = $wiscollect_file_id"); print_r($row); mdb2_exec($db, "INSERT INTO wiscollect ( wiscollect_file_id, barcode, betaalwijze, betaald, factuurnummer ) VALUE ( %i, '%q', '%q', %i, '%q' )", $wiscollect_file_id, $row[$barcode_idx], $row[$betaalwijze_idx], $row[$betaald_idx] == 'ja'?1:0, $row[$factuurnummer_idx]); $wiscollect_id = mdb2_single_val($db, 'SELECT LAST_INSERT_ID()'); $bedrag = $row[$bedrag_idx]; if ($bedrag != '') mdb2_exec($db, "UPDATE wiscollect SET bedrag = '%q' WHERE wiscollect_id = $wiscollect_id", $bedrag); mdb2_exec($db, "UPDATE wiscollect_files SET wiscollect_stored = wiscollect_stored + 1 WHERE wiscollect_file_id = $wiscollect_file_id"); } if (!fclose($csv)) error_system("error closing $filename.csv"); echo("lines=$no\n"); $num_rows = mdb2_single_val($db, "SELECT COUNT(*) FROM wiscollect WHERE wiscollect_file_id = $wiscollect_file_id"); echo("num_rows=$num_rows\n"); if ($no == $num_rows + 2 + $skipped) { echo("Success.\n"); } else { echo("At least one PTO rule could not be stored"); } mdb2_exec($db, "UPDATE wiscollect_files SET wiscollect_ok = TRUE WHERE wiscollect_file_id = $wiscollect_file_id"); ?>