Import CSV PHP PDO

Résolu
Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
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 :)
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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

0
Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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);
}
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Et... où récupères tu les variables de ton formula ?
Dans le fgetcsv, remplaces la virgule par la variable contenant le séparateur.
0
Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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 :/
0
Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Voila ce que ca donne


0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
0
Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Merci :) Je vais regarder ! :)
0
Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
J ai regarder mais ce ne m as pas aider bien plus malheureusement :/
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Leacode22 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Ben..tu a codé l'upload du fichier ??
0