Reputation: 239
I have a requirement to import an order from a customer which will contain about 4 fields on the first row as their customer data i.e.
customer number, order date, order no, delivery date
The next X number of lines will contain two fields with the product code
and quantity
required.
I have other procedures that will pull in a standard price list etc and parse, but I am struggling to get my head around how to break apart the CSV file into the two different sections.
Any help or ideas on how this can be achieved will be appreciated
Upvotes: 1
Views: 806
Reputation: 6758
Using the parsecsv library you could do this :
//get customer data first
// limit the number of returned rows.
$csv->limit = 1;
// Parse 'order.csv' using automatic delimiter detection.
$csv->auto('order.csv');
//retrieve the customer data
$customer_data = $csv->data;
//get order details after
//skip the first line
$csv->offset = 1;
// Parse 'order.csv' using automatic delimiter detection.
$csv->auto('order.csv');
$order_details = $csv->data;
Upvotes: 2
Reputation: 3520
I will suggest using this library, its will give you column by name
similar to sql result array
customer number, order date, order no, delivery date
Parse it in a way you want https://github.com/parsecsv/parsecsv-for-php
example
require_once 'parsecsv.lib.php';
$csv = new parseCSV('data.csv');
print_r($csv->data);
Upvotes: 3