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

Résolu/Fermé
dosco Messages postés 3 Date d'inscription mercredi 23 novembre 2016 Statut Membre Dernière intervention 29 mai 2017 - Modifié par jordane45 le 23/11/2016 à 19:46
dosco Messages postés 3 Date d'inscription mercredi 23 novembre 2016 Statut Membre Dernière intervention 29 mai 2017 - 24 nov. 2016 à 11:22
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.
A voir également:

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
23 nov. 2016 à 19:49
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://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs



0
dosco Messages postés 3 Date d'inscription mercredi 23 novembre 2016 Statut Membre Dernière intervention 29 mai 2017 194
Modifié par dosco le 24/11/2016 à 11:23
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!
0