Bonjour,
je commence le PHP pour travailler sur ma base MYSQL. je souhaite intégrer un fichier CSV avec PHP et injecté les données dans la table qui porte le nom du fichier.
pour insérer des données j'ai trouvé un bout de code dans mon fichier index voir ci dessous
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <h3>Lire l'article sur : <a href="https://waytolearnx.com/2019/07/comment-importer-un-fichier-csv-dans-mysql-avec-php.html" target="_blank">Comment importer un fichier CSV dans MySQL avec PHP</a></h3> <form enctype="multipart/form-data" action="import_csv.php" method="post"> <div class="input-row"> <label class="col-md-4 control-label">Choisir un fichier CSV</label> <input type="file" name="file" id="file" accept=".csv"> <br /> <br /> <button type="submit" id="submit" name="import" class="btn-submit">Import</button> <br /> </div> </form>
le fichier import csv
et le code de connexion a la base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php // Connect to database include("db_connect.php"); !$conn->query("CREATE TABLE produit (id int(11) not null auto_increment primary key, name varchar(200) not null, description text not null, price int(100) not null") if (isset($_POST["import"])) { $fileName = $_FILES["file"]["tmp_name"]; if ($_FILES["file"]["size"] > 0) { // Connect to database $file = fopen($fileName, "r"); while (($column = fgetcsv($file, 10000, ",")) !== FALSE) { // include("creation_table.php"); $sql = "INSERT into produit (id,name,description,price) values ('" . $column[0] . "','" . $column[1] . "','" . $column[2] . "','" . $column[3] . "')"; $result = mysqli_query($conn, $sql); if (! empty($result)) { $type = "success"; $message = "Les Données sont importées dans la base de données"; } else { $type = "error"; $message = "Problème lors de l'importation de données CSV"; } } } } //Retourner à la page index.php //header('Location: index.php'); //exit; ?>
j'arrive pas à intégrer le code de création de la table que j'ai intégrer dans le fichier import csv. j'ai une erreur "Parse error: syntax error, unexpected 'if' (T_IF) in C:\wamp64\www\projet\import_csv.php on line 10" à if (isset($_POST["import"])) {. je pense que c'est a cause de la table qui n'existe pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php $server = "localhost"; $username = "root"; $password = "root"; $db = "test"; $conn = mysqli_connect($server, $username, $password, $db); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part !$conn->query("CREATE TABLE produit (id int(11) not null auto_increment primary key, name varchar(200) not null, description text not null, price int(100) not null")
je voudrais aussi récupérer le du fichier "produit" via le $filename et l'intégrer dans le code de création de table CREATE TABLE $filename (id int(11)...)
cela fait deux jours que je suis sur le net a essayé des bouts de codes mais je n'y arrive pas. le fichier csv correspond à
1,PEN,Pen Blue,1.23
2,PC,Apple products,300.99
3,Car,Mercedes benz,985470.47
pouvez vous m'aider ?
merci d'avance
Partager