У меня есть файл csv, и я читаю данные из файла csv, тогда я хочу пропустить первую строку файла csv. Он будет содержать любой заголовок. Я использую этот код.
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) { $sql = "INSERT into da1(contact_first, contact_last, contact_email) values('$emapData[0]','$emapData[1]','$emapData[2]')"; mysql_query($sql); }
Когда я вставляю данные в базу данных, тогда заголовок не должен быть сохранен в базе данных.
пытаться:
$flag = true; while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) { if($flag) { $flag = false; continue; } // rest of your code }
Прежде чем начать цикл while, просто получите первую строку и ничего не сделайте с ней. Таким образом, логика проверки, если это первая строка, не требуется.
fgetcsv($file, 10000, ","); while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) { //.... }
Вы можете добавить простую проверку и пропустить запрос, если сбой проверки:
$firstline = true; while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) { if (!$firstline) { $sql = "INSERT into da1(contact_first, contact_last, contact_email) values('$emapData[0]','$emapData[1]','$emapData[2]')"; mysql_query($sql); } $firstline = false; }
Попробуйте этот простой код.
$file = fopen('example.csv', 'r'); // Here example is a CSV name $row = 1; while (($line = fgetcsv($file, 10000, ",")) !== FALSE) { // $line is an array of the csv elements if($row == 1){ $row++; continue; } // continue is used for skip row 1 // print_r($line); // rest of your code }
Надеюсь на его работу.