Page 1 sur 1

Entrée en bdd sauf la première ligne lu CSV

Posté : 25 juin 2018, 18:51
par yoann38
Salut tout le monde.
Voilà je lis un csc puis l'integre en bdd.
J'aimerais pouvoir eviter de rentré la premiere ligne qui correspond au nom de colonne enfait du CSV.
<?php
    include("include/conndb.php");
    include("include/variables.php");
	$fichier = 'bretagne.csv';
	


	$csv = new SplFileObject($fichier);
	$csv->setFlags(SplFileObject::READ_CSV);
	$csv->setCsvControl(';');
	
	// Parcourt du fichier CSV + stockage variables
	foreach($csv as $ligne){
	
	$id_simply_user = '1000';	
	$titre =  addslashes($ligne[1]);
	$phone =  $ligne[2];
	$website =  $ligne[5];
	$email =  $ligne[6];
	$postcode =  $ligne[11];
	$latitude =  $ligne[15];
	$longitude =  $ligne[16];
	$city =  addslashes(ucfirst(strtolower($ligne[13])));

	
		
   		// Insertion
        $req = $bdd->prepare("INSERT INTO `loisirs` (id_simply_user,titre,phone,email,city,postcode,latitude,longitude,website) VALUES ('$id_simply_user','$titre','$phone','$email','$city','$postcode','$latitude','$longitude','$website')");
        $req->execute(array(
             		  'id_simply_user'=>$id_simply_user,
                      'titre'=>$titre,
					  'phone'=>$phone,
					  'email'=>$email,
					  'city'=>$city,
					  'postcode'=>$postcode,
			 		  'website'=>$website
                      )) or die('Problème lors de l\'insertion');
            
	}
        
?> 
Avez vous une idée ?

Re: Entrée en bdd sauf la première ligne lu CSV

Posté : 25 juin 2018, 23:15
par @rthur
Bonjour,

Initialise une variable (par exemple $num_ligne) à 0 avant ta boucle foreach.
Dans ta boucle tu incrémentes $num_ligne, comme ça tu sauras quelle ligne tu es en train de traiter et donc tu pourras faire une exception pour la 1ère ligne en appelant continue;
https://php.net/continue