Injection fichier exell en spécifiant la ligne de départ.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Injection fichier exell en spécifiant la ligne de départ.

Re: Injection fichier exell en spécifiant la ligne de départ.

par @rthur » 20 févr. 2018, 17:27

Bonjour,

Ta boucle while() parcourt le fichier ligne par ligne, donc la solution pour faire ce que tu veux, serait d'initaliser une variable à 1 juste avant ta boucle qui va te servir de compteur et que tu incrémentes à chaque passage dans la boucle pour savoir quelle est le n° de ligne que tu traites.

Une fois ce compteur mis en place, tu as juste 2 conditions à ajouter au début de ton traitement dans la boucle while :
- si ce n° de ligne est < à la ligne initiale que tu veux traiter, tu passes à la ligne suivante avec la fonction continue;
- si ce n° de ligne est > à la dernière ligne que tu veux traiter, alors tu quittes définitivement la boucle de traitement avec la fonction break;

Injection fichier exell en spécifiant la ligne de départ.

par cyberpilou » 20 févr. 2018, 15:30

Bonjour,
j'utilise ce genre de script (qui fonctionne bien) pour importer des fichier xls dans un bd mysql mais j'aimerais pourvoir lui spécifier à partir de quelle ligne il doit commencer l'injection et à partir de quelle ligne celle-ci ce termine, pouvez vous m'aider ? merci d'avance :

voici le script :

//Le chemin d'acces a ton fichier sur le serveur
$fichier = fopen("nom_du_fichier.text_ou_.csv", "r" );

//tant qu'on est pas a la fin du fichier :
while (!feof($fichier))
{
// On recupere toute la ligne
$uneLigne = fgets($fichier, 1024);
//On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';')
$tableauValeurs = explode(';', $uneLigne);
// On crée la requete pour inserer les donner (ici il y a 12 champs donc de [0] a [11])
$sql="INSERT INTO Balance VALUES ('".$tableauValeurs[0]."', '".$tableauValeurs[1]."', '".$tableauValeurs[2]."', '".$tableauValeurs[3]."', '".$tableauValeurs[4]."', '".$tableauValeurs[5]."', '".$tableauValeurs[6]."', '".$tableauValeurs[7]."', '".$tableauValeurs[8]."', '".$tableauValeurs[9]."', '".$tableauValeurs[10]."', '".$tableauValeurs[11]."')";

$req=mysql_query($sql)or die (mysql_error());
// la ligne est finie donc on passe a la ligne suivante (boucle)
}
//vérification et envoi d'une réponse à l'utilisateur
if ($req)
{
echo"Ajout dans la base de données effectué avec succès";
}
else
{
echo"Echec dans l'ajout dans la base de données";
}