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

Mammouth du PHP | 643 Messages

25 juin 2018, 18:51

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 ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 juin 2018, 23:15

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
Quand tout le reste a échoué, lisez le mode d'emploi...