Créer une table à partir d'un formulaire et importer CSV

[Résolu/Fermé]
Signaler
Messages postés
3
Date d'inscription
mercredi 23 novembre 2016
Statut
Membre
Dernière intervention
29 mai 2017
-
Messages postés
3
Date d'inscription
mercredi 23 novembre 2016
Statut
Membre
Dernière intervention
29 mai 2017
-
bonjour je suis débutant donc soyez flexible svp, je demande votre indulgence svp je n'ai pas votre oeil de lynx pour le moment. j'ai fais ce code en pour charger un fichier CSV enHTML :

code html


<html>
<head> <title>Importer csv dans MySQL</title> </head>
<body>
<h2><center>Importer fichier csv</center></h2>

<form method="post" action="index.php" enctype="multipart/form-data">

<input type="hidden" name="MAX_FILE_SIZE" value="2000" />
<label for="fadet">selectionner fadet</label><br />

<input type="file" name="fadet" id="fadet" /><br />
<label for="nom_table">renommer fadet</label><br />

<input type="text" name="nom_table" value="nom fadet"/><br />

<input type="submit" name="submit" value="CHARGER" />

</form>

</body>
</html>


et maintenant je travail sur le script en PHP

code php
<?php
try
{
 $bdd = new PDO('mysql:host=localhost;dbname=base;charset=utf8', 'user', 'pass');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}

// on crée la requête SQL
$sql = 'CREATE TABLE $_POST['nom_table'] if not exists (
ci MEDIUMINT,
cellule VARCHAR(50),
id_equipement SMALLINT,
equipement VARCHAR(30),
id_type_equipement TINYINT,
type_equipement VARCHAR(30),
id_site SMALLINT,
site VARCHAR(100),
id_statut TINYINT,
statut TEXT,
proprietaire_site VARCHAR(30),
type_de_couverture TEXT,
nature_site VARCHAR(30),
zone VARCHAR(50),
description_du_lieux VARCHAR(100),
id_geolocalite SMALLINT,
geoloc VARCHAR(100),
type_geolocalite VARCHAR(100),
ua VARCHAR(50),
departement VARCHAR(50),
region VARCHAR(100),
district VARCHAR(100),
zc VARCHAR(50),
long_site FLOAT(5,3),
lat_site FLOAT(5,3),
date_de_mise_en_service_du_site DATE ,
date_de_mise_en_service_de_la_cellule DATE
)
ENGINE=INNODB;';

$prepare = $bdd->prepare($sql);
$res = $prepare->exec($sql);
echo 'Le fichier est bien importer';
?>

EDIT : Ajout des balises de code

mais il n'y à rien qui se crée dans ma base pour le moment! qui pourrai m'aider à trouver l'erreur et améliorer mon code dans la mesure du possible svp.

CORDIALEMENT.

1 réponse

Messages postés
33526
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 septembre 2021
3 726
Bonjour,


il n'y à rien qui se crée dans ma base pour le moment! qui pourrai m'aider à trouver l'erreur

Il n'y a pas d'erreur... tu n'as juste pas coder l'import des données....


Pour l'instant tu as fait :
Connexion à la BDD
Creation de la table (qui recevra les données) si elle n'existe pas déjà

Il te reste à faire :
1 - Ouverture du fichier csv
2 - Lecture du fichier ligne par ligne
3 - Insertion de chaque ligne dans la BDD


et améliorer mon code dans la mesure du possible

Pour ce qui est de l'amélioration.. tu peux déjà ajouter la prise en compte des erreurs PDO au cas où.
https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs



Messages postés
3
Date d'inscription
mercredi 23 novembre 2016
Statut
Membre
Dernière intervention
29 mai 2017
193
mais je penses que la table devrait se créer vide même si j'ai pas encore importé les données en faite je procède par étape!