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 :

xls vers mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut xls vers mysql
    Bonjour alors voilà je dois créer une bdd mysql à partir de feuilles excel, je les ai converties massivement vers du csv mais étant donné qu'il y en a 1500 pour environ 250 dossiers, j'essaye d'automatiser l'insertion. Mon problème actuel est de parcourir tous les dossiers puis sous dossiers afin de traiter tous les fichiers. Je précise que chaque fichier correspondra à un enregistrement. Je suis débutant en php, j'ai vaguement tapé ceci :

    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
    <?php
    $cheminrepbase='E:\Mondossier';
     
    traitementdonnees($cheminrepbase);
     
    $tabrep = nomsousdossiers($cheminrepbase);
    traitementsousdossiers($tabrep);
     
    $cc=1;	
    while ($cc<=count($tabrep))
    {
    	$tabsousrep = nomsousdossiers($cheminrepbase."\\".$tabrep[$cc]);
    	traitementsousdossiers($tabsousrep);
    	$cc++;
    }
     
     
    function traitementsousdossiers($tab)
    {
    	$c=1;
    	while ($c<=count($tab))
    	{
    		$cheminrep=$cheminrepbase."\\".$tab[$c];
    		traitementdonnees($cheminrep);
    		$c++;
    	}
    }
     
    function nomsousdossiers($cheminrep)
    {
    	$i=1;
    	$repertoire=opendir($cheminrep);
     
    	while ($fichier=readdir($repertoire))
    	{
    		if (is_dir($cheminrep."\\".$fichier)==true && $fichier!='.' && $fichier!='..')
    		{
    			$tabrep[$i] = $fichier;
    			$i++;
    		}
    	}
    	return $tabrep;
    }
     
     
    function traitementdonnees($cheminrep)
    {
    	echo "<br><br><br>NOM DU DOSSIER= \"" . $cheminrep . "\"<br><br><br>";
    	$repertoire=opendir($cheminrep);
     
    	while ($fichier = readdir($repertoire))
    	{
    		if ($fichier!='.' && $fichier!='..')
    		{
    			$extension = substr($fichier, -3, 3);
     
    			if ($extension=='CSV')
    			{
    				echo $cheminrep.'\\'.$fichier."<br><br>";
    /*ici aura lieu le traitement*/
     
    			}
    		}    
    	}
    }
    ?>
    Bon voilà, étant donné que je me suis moi-même perdu dans mon raisonnement, c'est très mal écrit. Pour l'instant le problème est que cela ne s'applique qu'au premier niveau de sous dossiers. De plus, la ligne "Nom du dossier :" indique seulement le niveau actuel ('\sousdossier') et je ne sais pas comment indiquer le chemin complet. Merci d'avance.

    PS: J'espère ne pas avoir transgressé trop de règles..

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Ma proposition est peut être idiote, mais j'essaye toujours de faire simple (je suis un peu paresseux "en programmation")
    Pour faire plus simple et éviter d'être obliger de scruter les sous dossier, pourquoi ne met tu pas tous les documents dans un seul et même dossier ?

    Si tu n'as de problèmes avec les homonymes de nom de fichiers tout ira bien je pense.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut
    Le problème c'est que le nom des dossiers joue un rôle important et que ça va être une donnée dans ma bdd. Ceci dit c'est pas idiot comme tu dis, je n'y avais même pas pensé. Merci, je vais essayer de voir si je peux me débrouiller comme çà.

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

Discussions similaires

  1. Importation des données .txt et .xls vers MySQL
    Par Ammouna1204 dans le forum Documents
    Réponses: 7
    Dernier message: 05/09/2012, 15h00
  2. [PHP 5.0] [CSV] Importation de données xls vers mysql
    Par beegees dans le forum Langage
    Réponses: 13
    Dernier message: 23/04/2009, 11h47
  3. Connexion depuis LAN impossible vers Mysql sur RH8
    Par RamDevTeam dans le forum Administration
    Réponses: 4
    Dernier message: 10/02/2005, 15h28
  4. Transefert de données de DBASE IV vers Mysql
    Par sessime dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/03/2004, 09h43
  5. Export base Access vers MySql
    Par jjn1er dans le forum Outils
    Réponses: 7
    Dernier message: 10/03/2003, 23h50

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