Menu

Import CSV PHP PDO [Résolu]

Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
- - Dernière réponse : Leacode22
Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
- 15 nov. 2018 à 10:29
Helloo :)
Je suis actuellement en train d'essayer d'importer un fichier csv ligne par ligne dans ma base de donnée en laissant la possibilité a l'utilisateur de choisir la correspondances des champs et cellules. Je souhaiterais que l'utilisateur souhaite choisir le séparateur, le nombre de ligne a ignorer et le numéros du champ a importer .. Après avoir éplucher de nombreux forum, je n est pas réussie de trouver de solution ( récente ) adapte a mon problème :/

Si quelqu'un peut me mettre sur une piste ça serais génial :D

Merciiii :)
Afficher la suite 

Votre réponse

3 réponses

Messages postés
24563
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 février 2019
1844
0
Merci
Bonjour,

Et donc.. quel est le souci exactement ?
Car là tu ne fais qu'exposer le programme (complet) que tu souhaites réaliser.. sans nous montrer le code que tu as déjà essayé de faire et sans nous indiquer sur quoi tu bloques précisément...
Car si on relis ton besoin.. il faut :

Pour les choix de l'utilisateur, un formulaire html/php
Pour ensuite faire l'insertion, Lire un fichier csv ligne par ligne puis faire de simples requêtes SQL

Commenter la réponse de jordane45
Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
0
Merci
Désoler, je n ai pas l'habitude de poster des messages :)
Voila ce que j ai fait :)

Mon formulaire :)

<form name="upload" method="post" action="#" enctype="multipart/form-data" accept-charset="utf-8" class="form-desabo">
<div class="row desabo-row">
<div class="col-md-12 col-md-offset-3 center desabo-container">
<label for="sepateur">Choisissez le separateur ( , / ; - ..)</label><br>
<input type="text" name="separateur" id="separateur"><br>
<label for="sepateur">Choisissez le delimiteur ( " [ ] ; - ..)</label><br>
<input type="text" name="delimiteur" id="delimiteur"><br>
<label for="ignore">Nombre de ligne à ignorer</label><br>
<input type="text" name="ignore" id="ignore"><br>
<label for="import">N° champ a importer</label><br>
<select name="import" id="import">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="3">4</option>
<option value="3">5</option>
<option value="3">6</option>
<option value="3">7</option>
<option value="3">8</option>
<option value="3">9</option>
<option value="3">10</option>
<option value="3">11</option>
<option value="3">12</option>
<option value="3">13</option>
<option value="3">14</option>
<option value="3">15</option>
</select>
<div class="btn-container">
<h1 class="imgupload"><i class="fa fa-file-image-o"></i></h1>
<h1 class="imgupload ok"><i class="fa fa-check"></i></h1>
<h1 class="imgupload stop"><i class="fa fa-times"></i></h1>
<p id="namefile">Accepte les .txt /.csv </p>
<button type="button" id="btnup" class="btn btn-primary btn-lg">Posez-le ici!</button>
<input type="file" value="" name="fileup" id="fileup">
</div>
</div>
</div>
<div class="col-md-12 desabo-submit">
<input type="submit" value="Submit!" class="btn btn-primary" id="submitbtn">
<button type="button" class="btn btn-default" disabled="disabled" id="fakebtn">Envoyer <i class="fa fa-minus-circle"></i></button>
</div>
</form>



Le code que j ai commencer a faire :)

$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}

}
fclose($handle);
}
jordane45
Messages postés
24563
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 février 2019
1844 -
Et... où récupères tu les variables de ton formula ?
Dans le fgetcsv, remplaces la virgule par la variable contenant le séparateur.
Commenter la réponse de Leacode22
Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
0
Merci
Bah pour le moment je récupère rien, je lis juste un .csv qu'il y a dans mon projet.
Le soucie ce que je ne vois pas comment faire pour récupérer le csv via mon input type file et que ça rentre dans la base de donnée :/
jordane45
Messages postés
24563
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 février 2019
1844 -
Leacode22
Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
-
Merci :) Je vais regarder ! :)
Leacode22
Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
-
J ai regarder mais ce ne m as pas aider bien plus malheureusement :/
jordane45
Messages postés
24563
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 février 2019
1844 > Leacode22
Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
-
Ben..tu a codé l'upload du fichier ??
Leacode22
Messages postés
11
Date d'inscription
lundi 12 novembre 2018
Dernière intervention
19 novembre 2018
-
Re! J ai réussi a faire ce que je voulais ! Merci pour votre aide !! :)
Commenter la réponse de Leacode22