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 :

Comment Importer automatiquement un fichier cvs dans ma table Phpmyadmin [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut Comment Importer automatiquement un fichier cvs dans ma table Phpmyadmin
    Bonjour,

    Je bloque pour importer Importer automatiquement un fichier cvs dans ma table Phpmyadmin


    J'aurai besoin d'aide car je suis bloquer dans mon projet et surtout faire la manip à la main me prend bcp de temps.

    Voici ma table dan phpmyadmin :
    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
    Structure de la table `tfi2003_contacts`
    #
     
    DROP TABLE IF EXISTS tfi2003_contacts;
    CREATE TABLE tfi2003_contacts (
      id_contact int(11) NOT NULL auto_increment,
      id_cat int(11) NOT NULL default '0',
      societe varchar(128) NOT NULL default '',
      titre varchar(64) NOT NULL default '',
      nom varchar(128) NOT NULL default '',
      prenom varchar(128) NOT NULL default '',
      rue varchar(128) NOT NULL default '',
      no varchar(16) NOT NULL default '',
      cp varchar(8) NOT NULL default '',
      localite varchar(128) NOT NULL default '',
      region varchar(64) NOT NULL default '',
      pays varchar(64) NOT NULL default '',
      phone varchar(25) NOT NULL default '',
      phone2 varchar(25) NOT NULL default '',
      fax varchar(25) NOT NULL default '',
      email varchar(255) NOT NULL default '',
      website varchar(255) NOT NULL default '',
      note longtext NOT NULL,
      PRIMARY KEY  (id_contact)
    ) TYPE=MyISAM COMMENT='Table des contacts';
    comment puis-je faire cela automatiquement si c'est possible ?
    ou dois-je placer le code ? à quel endroit ?

    MERCI POUR VOTRE AIDE CAR j'arrive pas à avancer MERCI

    ci-dessous un exemple mais est-il adaptable pour mon cas ???

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php 
    ////include ("inc/prive.inc.php");
    include("../haut.inc.php");
    include ("../inc/fonctions.inc.php");
    ////include ("config/constantes.inc.php");
    Normalisation();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
      <title>Gestion de l'importation des données de Sconet</title>
    <a href="index.php">****Accueil Général de la Gestion des sanctions du collège Ponsard****</a>
        <script language="javascript" type="text/javascript" src="inc/fonctions.js">
      </script>
    </head>
    <body>
    <?php
    // autorisations pour la page
    ////autoriser ("admin");
    // menu
    //require ("inc/menu.inc.php");
    ?>
    <div id="texte">
    <h2>Importation du fichier CSV de Sconet, cette importation est longue, veuillez patienter</h2>
    <?php
    $mode = isset($_POST['mode']) ? $_POST['mode'] : Null;
     
    switch ($mode)
     {
     case 'Confirmer': 
    	// ouvrir la BD
    	include ("../variables.inc.php");
    	$lienDB = mysql_connect($bddserver, $bddlogin, $bddpassword);
    	mysql_select_db ($bdd);
    			//Vide la table 'nom_de_la_table'
    	$query = "DELETE FROM elevescomplete";
    	$result = mysql_query($query);
    	echo $query;
    	$handle = fopen("./eleves.csv", "r");
    	$ligne = 1;
     
    	while (($data = fgetcsv($handle, 5000, ";","\"")) !== FALSE) 
    		{
    		$num = count($data);
    		if ($ligne == 1)
    			{
    			// sur la première ligne, on trouve les intitulés des colonnes
     
     
    			$debutsql = "INSERT INTO elevescomplete (";
    			for ($i=0; $i < $num; $i++) 
    				{
    				$debutsql .= "`$data[$i]";
    				if ($i < $num-1) $debutsql .= "`,";
    				}
    			$debutsql .= "`) VALUES (";
    			}
    			else
    			{
    			// sur les lignes suivantes, on trouve les infos à introduire dans la BD
    			$sql = $debutsql;
    			for ($i=0; $i < $num; $i++) 
    				{
    				$sql .= "'".mysql_real_escape_string($data[$i])."'";
    				if ($i < $num-1) $sql .= ","; else $sql .= ");";
    				}
    			mysql_query($sql);
    			if (mysql_error()) 
    				{ 
    				echo mysql_error() ."<br>\n";  
    				$erreur = true;
    				}
    			}
    			$ligne++;
    			//echo "$sql <br />";
    			//mysql_query($sql);
     
    		}
            echo "L'importation des données semble s'être bien passée.";
    		fclose($handle);
    		mysql_close ($lienDB);
            if ($erreur == false)
    			{
    			$texte = "L'importation des données semble s'être bien passée.";
    			//redir ("index.php","",$texte, 5000);
                }
    			else 
    			{
    			$texte = "Il s'est produit une erreur durant l'importation.";
    			//redir ("index.php","",$texte, 10000);
    			}
     break;
     case 'Envoyer':
    	// recopie du fichier sous un nom définitif
    	$nomTemporaire = $_FILES['fichierCSV']['tmp_name'];
    	if( !move_uploaded_file($nomTemporaire, "./eleves.csv") )
    		exit("Impossible de copier le fichier.");
     
    		echo "<div style=\"text-align: center\">\n";
            echo "<form name=\"form1\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">\n";
            echo "<p>Le fichier CSV a été copié sur le serveur.</p>\n";
            echo "<p>Veuillez confirmer l'exportation des données.</p>\n";
    		echo "<p>\n<input type=\"reset\" name=\"submit\" value=\"Annuler\"";
    		echo "onclick=\"javascript:history.go(-1)\">\n";
            echo "<input type=\"submit\" value=\"Confirmer\" name=\"mode\"></p>\n";
            echo "</form>\n";
            echo "</div>\n";
     
    	// tableau de prévisualisation
    	echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\n";
    	$handle = fopen("./eleves.csv", "r");
    	//while (($data = fgetcsv($handle, 5000, ",","\"")) !== FALSE) 
    	while (($data = fgetcsv($handle, 5000, ";","\"")) !== FALSE) 
    		{
    		$num = count($data);
    		echo "<tr>\n";
    		for ($i=0; $i < $num; $i++) 
    			echo "<td>".$data[$i] . "</td>\n";
    		echo "</tr>\n";
    		}
    	fclose($handle);
    	echo "</table>\n";
    	break;
     default:
    	echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\" ";
    	echo "name=\"form1\" enctype=\"multipart/form-data\">\n";
    	echo "<input name=\"fichierCSV\" type=\"file\">\n";
    	echo "<input name=\"mode\" value=\"Envoyer\" type=\"submit\">\n";
    	echo "</form>\n";
     break;
     }
    ?>
    </div>
     
    </body>
    </html>
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Tu vas dans importer et tu cliques sur parcourir pour choisir le fichier zip que tu veux importer.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Citation Envoyé par feldi Voir le message
    Tu vas dans importer et tu cliques sur parcourir pour choisir le fichier zip que tu veux importer.
    Mais ce que j'essai de faire si tu as lu le code plus haut c'est d 'importer automatiquement! merci au expert pour m 'aider dans ma démarche car sous PHPmyadmin cela existe.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    T'as essayé de modifier comme ça :
    ligne 37 à 51 :

    Code php : 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
    $query = "DELETE FROM tfi2003_contacts";
    	$result = mysql_query($query);
    	echo $query;
    	$handle = fopen("./tfi2003_contacts.csv", "r");
    	$ligne = 1;
     
    	while (($data = fgetcsv($handle, 5000, ";","\"")) !== FALSE) 
    		{
    		$num = count($data);
    		if ($ligne == 1)
    			{
    			// sur la première ligne, on trouve les intitulés des colonnes
     
     
    			$debutsql = "INSERT INTO tfi2003_contacts(";

    et remplacer les noms eleve.csv en tfi2003_contacts.csv ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Bonjour

    J'avais en tête de modifier mais je pense que la problématique est bien plus compliqué que cela j'ai testé comme vous m'aviez dit mais cela ne fonctionne pas. Je pense qu'il faut placer le code à un bon endroit avec un lien mais je ne vois pas où Y-a-t-il des experts ? qui maîtrise le pHp et sql pour mon cas

    faire au plus simple merci pour votre aide


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php 
    ////include ("inc/prive.inc.php");
    include("../haut.inc.php");
    include ("../inc/fonctions.inc.php");
    ////include ("config/constantes.inc.php");
    Normalisation();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
      <title>Gestion de l'importation des données de Sconet</title>
    <a href="index.php">****Accueil Général de la Gestion des sanctions du collège Ponsard****</a>
        <script language="javascript" type="text/javascript" src="inc/fonctions.js">
      </script>
    </head>
    <body>
    <?php
    // autorisations pour la page
    ////autoriser ("admin");
    // menu
    //require ("inc/menu.inc.php");
    ?>
    <div id="texte">
    <h2>Importation du fichier CSV de Sconet, cette importation est longue, veuillez patienter</h2>
    <?php
    $mode = isset($_POST['mode']) ? $_POST['mode'] : Null;
     
    switch ($mode)
     {
     case 'Confirmer': 
    	// ouvrir la BD
    	include ("../variables.inc.php");
    	$lienDB = mysql_connect($bddserver, $bddlogin, $bddpassword);
    	mysql_select_db ($bdd);
    			//Vide la table 'nom_de_la_table'
    	$query = "DELETE FROM elevescomplete";
    	$result = mysql_query($query);
    	echo $query;
    	$handle = fopen("./tfi2003_contacts.csv", "r");
    	$ligne = 1;
     
    	while (($data = fgetcsv($handle, 5000, ";","\"")) !== FALSE) 
    		{
    		$num = count($data);
    		if ($ligne == 1)
    			{
    			// sur la première ligne, on trouve les intitulés des colonnes
     
     
    			$debutsql = "INSERT INTO elevescomplete (";
    			for ($i=0; $i < $num; $i++) 
    				{
    				$debutsql .= "`$data[$i]";
    				if ($i < $num-1) $debutsql .= "`,";
    				}
    			$debutsql .= "`) VALUES (";
    			}
    			else
    			{
    			// sur les lignes suivantes, on trouve les infos à introduire dans la BD
    			$sql = $debutsql;
    			for ($i=0; $i < $num; $i++) 
    				{
    				$sql .= "'".mysql_real_escape_string($data[$i])."'";
    				if ($i < $num-1) $sql .= ","; else $sql .= ");";
    				}
    			mysql_query($sql);
    			if (mysql_error()) 
    				{ 
    				echo mysql_error() ."<br>\n";  
    				$erreur = true;
    				}
    			}
    			$ligne++;
    			//echo "$sql <br />";
    			//mysql_query($sql);
     
    		}
            echo "L'importation des données semble s'être bien passée.";
    		fclose($handle);
    		mysql_close ($lienDB);
            if ($erreur == false)
    			{
    			$texte = "L'importation des données semble s'être bien passée.";
    			//redir ("index.php","",$texte, 5000);
                }
    			else 
    			{
    			$texte = "Il s'est produit une erreur durant l'importation.";
    			//redir ("index.php","",$texte, 10000);
    			}
     break;
     case 'Envoyer':
    	// recopie du fichier sous un nom définitif
    	$nomTemporaire = $_FILES['fichierCSV']['tmp_name'];
    	if( !move_uploaded_file($nomTemporaire, "./tfi2003_contacts.csv") )
    		exit("Impossible de copier le fichier.");
     
    		echo "<div style=\"text-align: center\">\n";
            echo "<form name=\"form1\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">\n";
            echo "<p>Le fichier CSV a été copié sur le serveur.</p>\n";
            echo "<p>Veuillez confirmer l'exportation des données.</p>\n";
    		echo "<p>\n<input type=\"reset\" name=\"submit\" value=\"Annuler\"";
    		echo "onclick=\"javascript:history.go(-1)\">\n";
            echo "<input type=\"submit\" value=\"Confirmer\" name=\"mode\"></p>\n";
            echo "</form>\n";
            echo "</div>\n";
     
    	// tableau de prévisualisation
    	echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\n";
    	$handle = fopen("./tfi2003_contacts.csv", "r");
    	//while (($data = fgetcsv($handle, 5000, ",","\"")) !== FALSE) 
    	while (($data = fgetcsv($handle, 5000, ";","\"")) !== FALSE) 
    		{
    		$num = count($data);
    		echo "<tr>\n";
    		for ($i=0; $i < $num; $i++) 
    			echo "<td>".$data[$i] . "</td>\n";
    		echo "</tr>\n";
    		}
    	fclose($handle);
    	echo "</table>\n";
    	break;
     default:
    	echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\" ";
    	echo "name=\"form1\" enctype=\"multipart/form-data\">\n";
    	echo "<input name=\"fichierCSV\" type=\"file\">\n";
    	echo "<input name=\"mode\" value=\"Envoyer\" type=\"submit\">\n";
    	echo "</form>\n";
     break;
     }
    ?>
    </div>
     
    </body>
    </html>

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Pour les importations de fichier, tu as à ta disposition LOAD_DATA_INFILE qui importe dans une table et à grande vitesse les données des fichiers textes/csv.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Merci rawsrc je vais tester avec un cas simple, et voir si sa marche

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html> 
    <Head> 
    <title>chargement de page</title> 
    </Head> 
    <body> 
    <? 
    include /scripts/config.php 
    $query= "LOAD DATA INFILE '/ftp/mon_texte.txt' INTO TABLE `tfi2003_contacts` FIELDS TERMINATED BY '&&' ENCLOSED BY '\"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' "; 
    $req = mysql_query($query) or die (mysql_error()); 
    ?> 
    </body> 
    </html>
    avec la syntaxe

    ma table :tfi2003_contacts et mon fichier .csv plus haut j'ai pas réussie à importer automatiquement les données dans ma table ,
    le nom de ma base annuaire2012.

    Où dois-je placer le code ? Merci pour votre aide





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
        [REPLACE | IGNORE]
        INTO TABLE tbl_name
        [FIELDS
            [TERMINATED BY '\t']
            [[OPTIONALLY] ENCLOSED BY '']
            [ESCAPED BY '\\' ]
        ]
        [LINES 
            [STARTING BY '']    
            [TERMINATED BY '\n']
        ]
        [IGNORE number LINES]
        [(col_name,...)]

  9. #9
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Avant de poursuivre avec l'utilisation de LOAD DATA INFILE il faut bien savoir que cela ne fonctionnera pas sur un serveur mutualisé. C'est bon en local ou sur un dédié car on peut avoir les droits sur les fichiers, mais pas sur un mutualisé où l'on a pas accès à ces droits.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Bonjour ABCIWEB

    sur un dédié et en localhost dans un 1 er tps merci si vous savez et connaissez comment faire cela pour m'aider à avancer sur mon appli.

    MERCI d'avance

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    J'ai testé sur l'ancienne méthode mais cela marche toujours pas ....

    Même avec le LOAD DATA INFILE rien ne fonctionne si cela fonctionne qq pourrait me donner un exemple ? Merci de votre aide

  12. #12
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Ta syntaxe est incorrecte :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LOAD DATA INFILE 'mon_texte.txt' 
    INTO TABLE annuaire2012.tfi2003_contacts 
    FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
    LINES TERMINATED BY '\r\n'
    IGNORE 1 LINES

    A essayer, aucune garantie
    Il faut faire plusieurs essais si ça plante.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    où dois-je placer ce code car j'ai testé en le mettant dans le répertoire www de la racine localhost fichier.php rien ne se passe je pensé que cela fonctionné...

    la problématique a une solution mais qui connait y-a-t-il un expert dév en PHP sql ?

  14. #14
    Nouveau candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut
    Citation Envoyé par Debutant10 Voir le message
    où dois-je placer ce code car j'ai testé en le mettant dans le répertoire www de la racine localhost fichier.php rien ne se passe je pensé que cela fonctionné...

    la problématique a une solution mais qui connait y-a-t-il un expert dév en PHP sql ?
    slt, j'ai un probléme d'importation des données arabe de csv en php car il m'affiche des ?????? au lieu de caractères arbe

  15. #15
    Nouveau candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Par défaut
    Citation Envoyé par Debutant10 Voir le message
    où dois-je placer ce code car j'ai testé en le mettant dans le répertoire www de la racine localhost fichier.php rien ne se passe je pensé que cela fonctionné...

    la problématique a une solution mais qui connait y-a-t-il un expert dév en PHP sql ?
    slt, j'ai un probléme d'importation des données arabe de csv en php car il m'affiche des ?????? au lieu de caractères arbe

  16. #16
    Membre éclairé
    Inscrit en
    Octobre 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 50
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Bonjour,

    Pour les importations de fichier, tu as à ta disposition LOAD_DATA_INFILE qui importe dans une table et à grande vitesse les données des fichiers textes/csv.
    Je confirme ce que dit Raw' !
    C'est lui qui m'a mis sur la voie avec ce LOAD DATA INFILE


    Exemple Ce script fonctionne ! ^^

  17. #17
    Membre éclairé
    Inscrit en
    Octobre 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 50
    Par défaut
    Citation Envoyé par Debutant10 Voir le message
    où dois-je placer ce code car j'ai testé en le mettant dans le répertoire www de la racine localhost fichier.php rien ne se passe je pensé que cela fonctionné...

    la problématique a une solution mais qui connait y-a-t-il un expert dév en PHP sql ?
    le code que raw t'as donné n'est pas en PHP mais en MYSQL normal que ça fonctionne pas ! ^^

    Si tu m'files la structure du fichier, je te serts ton script sur un plateau...

    En première essai, si les données sont séparées par un point virgule et que les clients sont séparées par un retour à la ligne,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    // Ne pas oublier la connection à la BDD
    $nomtable = '*********';
    $urlfichier = '*********';
    $sql = "LOAD DATA LOCAL INFILE '$urlfichier' INTO TABLE $nomtable FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\\\\' LINES TERMINATED BY '\\n'";
    mysql_query($sql) or die('non mis à jour'.mysql_error());
    ?>

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Merci pour votre éclairage mais pouvez vous m 'aider voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $nomtable = '*********';
    $urlfichier = '*********';
    $sql = "LOAD DATA LOCAL INFILE '$urlfichier' INTO TABLE $nomtable FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\\\\' LINES TERMINATED BY '\\n'";
    mysql_query($sql) or die('non mis à jour'.mysql_error());
    comment faire avec bouton pour chargé le fichier csv DANS ma table tfi2003_contacts
    Fichiers attachés Fichiers attachés

  19. #19
    Membre éclairé
    Inscrit en
    Octobre 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 50
    Par défaut
    1. LOAD DATA INFILE
    - Le script que je t'ai filé fonctionne ?
    - Il sera/est autorisé par ton hébergeur ?

    2. AUTO
    C'est pas censé être une tâche automatique ? Toutes les x heures...
    -> Si oui, renseigne toi sur les tâches 'cron'
    -> Si non, un simple lien qui pointe vers 'tonscript.php' autour d'une image (bouton) de ton choix fera l'affaire.

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1. LOAD DATA INFILE
    - Le script que je t'ai filé fonctionne ?
    - Il sera/est autorisé par ton hébergeur ?
    1-/ oui en localhost pour l instant

    2-/Comment puis-je faire un lien qui pointe vers 'tonscript.php' autour d'une image (bouton) de ton choix fera l'affaire.

    --> Je n'arrive pas à faire l import automatiquement qui pointe vers le script.

    qq un peut-il m envoyer un exemple simple pour commencer ? merci


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php
     
     
    //--- .:: Variables générales ::. ---------------------------------------------
      $adminMail    = "mon_adresse@mon_site.com"; // Votre adresse email
     
    // $debugSQL = true vous permet de voir le détail des requêtes SQL.
      $debugSQL     = false;
     
    // Login et mot de passe pour la partie d'administration
      $adminLogin   = "admin";
      $adminPass    = "123456";
     
      $DBserver = "127.0.0.1"; // Par exemple "localhost" ou "votre.serveur-mysql.com"
      $DBlogin  = "root"; // Par exemple "votre_login"
      $DBpass   = ""; // Par exemple "votre_password"
      $DB       = "annuaire2012"; // Le nom de votre base de donnée comme par exemple "votre_base"
      $myurl    = "http://localhost/intex"; // l'URL du dossier "intex" ex. : http://localhost/intex
     
      //insertion
     
    $sql = "LOAD DATA LOCAL INFILE '$urlfichier' INTO TABLE $nomtable FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\\\\' LINES TERMINATED BY '\\n'";
    mysql_query($sql) or die('non mis à jour'.mysql_error());
     
     
     
    /***
     * Couleurs des tableaux d'affichage
     * Couleurs de base : 1:EEEEEE et 2:DDDDEA
     */
      $color_1      = "EEEEEE";
      $color_2      = "DDDDEA";
     
    // Dossiers des images et de l'aide en ligne
      $rep_img      = "img";
      $rep_aide     = "aide";
     
    // Tables de la base de données.
      $T_cat        = "tfi2003_cat";
      $T_contacts   = "tfi2003_contacts";
      $T_user       = "tfi2003_user";
      $T_statut     = "tfi2003_statut";
      $T_postit     = "tfi2003_postit";
     
    // Les messages d'erreurs prédéfinits.
      $error404     = '<html><head><title>!!! ERREUR 404 !!!</title><link href="'
                     .$myurl.'/styles.css" rel="stylesheet" type="text/css"></head><body>'
    	             .'<center><h1>ERREUR 404</h1><p><b>page introuvable !!!</b></p> <p>'
    	             .'<a href="javascript:window.history.back()"><img src="img/retour.gif" '
    		         .'alt="Retour" width="16" height="16" border="0">Retour</a> <strong>|</strong> '
                     .'<a href="'.$myurl.'"><img src="img/home.gif" alt="Page d\'accueil" border="0">'
    		         .'Page d\'accueil</a> <b>|</b> <a href="aide/" target="_blank">'
    		         .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
    		         .'Aide en ligne</a></p></center></body></html>';
     
      $champs_vide  = '<html><head><title>!!! ATTENTION !!!</title><link href="'
                     .$myurl.'/styles.css" rel="stylesheet" type="text/css"></head><body><center>'
    	             .'<h1>!!! ATTENTION !!!</h1><p><b>Tous les champs marqu&eacute;s en rouge '
    	             .'fonc&eacute; doivent &ecirc;tre remplis.</b></p><br><br><br>'
    	             .'<a href="javascript:window.history.back()"><img src="img/retour.gif" alt="Retour" '
    		         .'width="16" height="16" border="0">Retour</a> <b>|</b> <a href="aide/" target="_blank">'
    		         .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
    		         .'Aide en ligne</a></p></center></body></html>';
     
      $email_faux   = '<html><head><title>!!! ATTENTION !!!</title><link href="'
                     .$myurl.'/styles.css" rel="stylesheet" type="text/css"></head><body><center>'
                     .'<h1>!!! ATTENTION !!!</h1><p><b>Adresse e-mail non valide.</b></p><p><br>'
    	             .'<br><br><a href="javascript:window.history.back()"><img src="img/retour.gif" alt="Retour" '
    		         .'width="16" height="16" border="0">Retour</a> <b>|</b> <a href="aide/" target="_blank">'
    		         .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
    		         .'Aide en ligne</a></p></center></body></html>';
     
      $date_obsolete = '<html><head><title>!!! ATTENTION !!!</title><link href="'
                      .$myurl.'/styles.css" rel="stylesheet" type="text/css"></head><body><center>'
                      .'<h1>!!! ATTENTION !!!</h1><p><b>La date de l\'&eacute;v&egrave;nement est expir&eacute;e.</b></p><p><br>'
                      .'<br><br><a href="javascript:window.history.back()"><img src="img/retour.gif" alt="Retour" '
    		          .'width="16" height="16" border="0">Retour</a> <b>|</b> <a href="aide/" target="_blank">'
    		          .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
    		          .'Aide en ligne</a></p></center></body></html>';
     
      $error_gene   = '<html><head><title>!!! ERREUR !!!</title><link href="'.$myurl.'/styles.css" '
                     .'rel="stylesheet" type="text/css"></head><body><center><h1>!!! ERREUR !!!</h1>'
                     .'<p><b>Une erreur s\'est produite. Veuillez v&eacute;rifier les donn&eacute;es du '
                     .'formulaire.<br>Si l\'erreur se reproduit, veuillez la signaler au <a href="mailto:'
                     .$adminMail.'">mod&eacute;rateur</a>.</b></p><br><br><p><a href="javascript:window.history.back()">'
                     .'<img src="img/retour.gif" alt="Retour" width="16" height="16" border="0">Retour</a> '
    		         .'<b>|</b> <a href="aide/" target="_blank">'
    		         .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
    		         .'Aide en ligne</a></p></center></body></html>';
     
      $error_auth   = '<html><head><title>!!! ERREUR !!!</title><link href="'.$myurl.'/styles.css" '
                     .'rel="stylesheet" type="text/css"></head><body><center><h1>!!! ERREUR D\'AUTHENTIFICATION !!!</h1>'
                     .'<p><b>Vous n\'avez pas les droits d\'acc&egrave;s pour visualiser ces pages.'
                     .'<br>Cliquez pour contacter le <a href="mailto:'.$adminMail.'">mod&eacute;rateur</a>.</b></p><br>'
                     .'<br><p><a href="admin.php"><img src="img/admin.gif" alt="Se reconnecter" border="0">'
    		         .'Se reconnecter</a> <b>|</b> <a href="'.$myurl.'"><img src="img/home.gif" alt="Page d\'accueil" '
    		         .'border="0">Page d\'accueil</a> <b>|</b> <a href="aide/" target="_blank">'
    		         .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
    		         .'Aide en ligne</a></p></center></body></html>';
     
    //--- .:: Variables Post-it ::. ---------------------------------------------
      $tbl_priorite = array("1" => "importante",
                            "2" => "moyenne",
                            "3" => "faible");
      $priorite_def = 2;  // Priorité ci-dessus par defaut
     
    /***
     * Vérification et effacement automatique des Post-it
     * marqués "TERMINE" (id_statut = 3) et "LU" dont la date est obsolète.
     */
      $del_postit_obso_ok = false; // "true" ou "false"
     
      $horaire_min  = 8;  // heure d'ouverture 
      $horaire_max  = 18; // heure de fermeture 
     
      $user_bloque   = '<html><head><title>!!! ERREUR !!!</title><link href="'.$myurl.'/styles.css" '
                      .'rel="stylesheet" type="text/css"></head><body><center><h1>!!! UTILISATEUR BLOQU&Eacute; !!!</h1>'
    	              .'<p><b>Le collaborateur choisi a &eacute;t&eacute; bloqu&eacute; par l\'administrateur.<br> '
    	              .'Veuillez choisir un autre utilisateur.</b></p><p><a href="javascript:window.history.back()">'
    	              .'<img src="img/retour.gif" alt="Fermer la fen&ecirc;tre" width="16" height="16" border="0">Retour</a> '
    		          .'<b>|</b> <a href="aide/" target="_blank">'
    		          .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
                      .'Aide en ligne</a></p></center></body></html>';
     
      $user_move_post = '<html><head><title>!!! ATTENTION !!!</title><link href="'.$myurl.'/styles.css" '
                       .'rel="stylesheet" type="text/css"></head><body><center><h1>!!! ATTENTION !!!</h1>'
    	               .'<p><b>Vous devez choisir un collaborateur pour d&eacute;placer les Post-it vers celui-ci.<br> '
    	               .'Veuillez choisir un utilisateur.</b></p><p><a href="javascript:window.history.back()">'
    	               .'<img src="img/retour.gif" alt="Fermer la fen&ecirc;tre" width="16" height="16" border="0">Retour</a> '
                       .'<b>|</b> <a href="aide/" target="_blank">'
    		           .'<img src="img/aide.gif" alt="Aide en ligne" width="16" height="16" border="0">'
    		           .'Aide en ligne</a></p></center></body></html>';
     
    //--- .:: Variables Carnet d'adresses ::. ------------------------------------
      $nbr_line     = 7; // Aussi pour les Post-it
     
    ?>

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Importer automatiquement un fichier cvs dans ma table Mysql
    Par nader1987 dans le forum Administration
    Réponses: 1
    Dernier message: 25/04/2012, 22h21
  2. [AC-2007] Import automatique de fichiers text dans une table unique
    Par dol75 dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/10/2009, 13h20
  3. [XL-2003] Importer automatiquement un fichier CSV dans une feuille
    Par Mikayel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/06/2009, 10h35
  4. importation d'un fichier txt dans une table
    Par pierre.egaud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/09/2006, 16h26
  5. Réponses: 7
    Dernier message: 04/10/2005, 18h21

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