IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

création table et import csv en PHP


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2018
    Messages : 30
    Par défaut création table et import csv en PHP
    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
    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;
     
     
     
    ?>
    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
    <?php
    	$server = "localhost";
    	$username = "root";
    	$password = "root";
    	$db = "test";
    	$conn = mysqli_connect($server, $username, $password, $db);
    ?>
    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
    !$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

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    laisse tomber mysqli_, et utilise PDO.

  3. #3
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2018
    Messages : 30
    Par défaut
    merci pour le conseil,

    en cherchant j'ai trouvé une partie de ma solution avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     $sql = "CREATE TABLE produit (
          id int(11) NOT NULL auto_increment primary key,
          name varchar(250) NOT NULL,
          description text not null,
          price int(100) not null
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
     
    $conn->query($sql);
    maintenant il me reste a trouvé comment récupéré le nom du fichier et l'inséré dans le code de create table.

    merci a vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.6] Sécurité en importation CSV avec PHP
    Par smccbbm dans le forum MySQL
    Réponses: 2
    Dernier message: 04/12/2014, 18h30
  2. [MySQL] Importer csv en PHP dans BDD.
    Par stevenP dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/01/2014, 10h24
  3. Changer le format d'une table apres import csv
    Par jjjdud dans le forum SAS Base
    Réponses: 1
    Dernier message: 20/11/2013, 19h55
  4. Pb import CSV en PHP ou MySQL
    Par Korben-Dallas dans le forum Administration
    Réponses: 18
    Dernier message: 13/03/2012, 18h25
  5. Réponses: 9
    Dernier message: 12/06/2007, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo