Import CSV PHP PDO

Résolu/Fermé
Leacode22 Messages postés 11 Date d'inscription lundi 12 novembre 2018 Statut Membre Dernière intervention 19 novembre 2018 - 12 nov. 2018 à 08:54
Leacode22 Messages postés 11 Date d'inscription lundi 12 novembre 2018 Statut Membre 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 :)
A voir également:

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 nov. 2018 à 09:47
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 lundi 12 novembre 2018 Statut Membre Dernière intervention 19 novembre 2018
12 nov. 2018 à 09:51
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 nov. 2018 à 11:04
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 lundi 12 novembre 2018 Statut Membre Dernière intervention 19 novembre 2018
12 nov. 2018 à 11:08
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 lundi 12 novembre 2018 Statut Membre Dernière intervention 19 novembre 2018
12 nov. 2018 à 11:12
Voila ce que ca donne


0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
12 nov. 2018 à 12:15
0
Leacode22 Messages postés 11 Date d'inscription lundi 12 novembre 2018 Statut Membre Dernière intervention 19 novembre 2018
12 nov. 2018 à 12:20
Merci :) Je vais regarder ! :)
0
Leacode22 Messages postés 11 Date d'inscription lundi 12 novembre 2018 Statut Membre Dernière intervention 19 novembre 2018
12 nov. 2018 à 14:40
J ai regarder mais ce ne m as pas aider bien plus malheureusement :/
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Leacode22 Messages postés 11 Date d'inscription lundi 12 novembre 2018 Statut Membre Dernière intervention 19 novembre 2018
12 nov. 2018 à 16:16
Ben..tu a codé l'upload du fichier ??
0