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 :

Mise en bdd d'un fichier csv en passant par un code php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut Mise en bdd d'un fichier csv en passant par un code php
    Bonjour tout le monde !

    Je suis entrain de réaliser un projet et j'ai quelques petites question a vous posez donc je vous explique.

    Je dois ouvrir un fichier excel en .csv qui contient un certains nombres de données et colonnes.
    Je dois lire toutes les colonnes, supprimer certaines colonnes qui me servent à rien, convertir les date anglo-saxones en date française, insérer le tout dans une base de donnée et les afficher dans une page.
    Donc pour cela j'ai créer plusieurs classes : BaseDeDonnée, Commandes, IHM et créer un test unitaire.

    Pour le moment, j'ai réussi à afficher le fichier sans aucune modification et j'aimerais un peu d'aide pour la suppression et l'insertion dans la base de donnée.

    Je vous ai joint un fichier en .rar contenant tout mon travail actuel.

    Merci de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Pourquoi n'utilises-tu pas fgetcsv( ) ? Cela faciliterait les choses

    Autrement : attention, tu construis mal tes pages HTML

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut
    J'ai essayer de l'utiliser mais j'arrive pas à la mettre en place...

    Sinon la page HTML est juste un test unitaire... On est à trois a travailler sur ce projet et on s'est divisé le travail. On doit tout regrouper à la fin.

    Je vais retesté avec le fgetcsv().

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Par défaut
    Bon avec le fgetcsv(), j'arrive a afficher la première ligne mais sous forme de colonnes...

    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $handle = fopen($nomFichier, "r");
    $ligne   = fgetcsv($handle, 1024, ";");
     
    echo "<table border 1>";
    print("<tr><td>".$ligne[0]."</td></tr>");
    for ($i = 0; $i<sizeof($ligne[$i]; $i++)
    {
      print("<tr><td>".$ligne[$i]."</td></tr>");
    }
    echo "</table>";

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut
    Bonjour tout le monde, bonjour cereales
    J'avais le même problème que toi et Djakisbak m'a aidé.
    Tu n'as pas spécialement besoin d'utiliser fgetcsv().
    essaye 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
    <?php
     
    //On ouvre le fichier
    $lines = file('codesProduits.csv');
     
    //on crée le tableau 
    echo "<table border 1>\n";
     
    //on entre dans la boucle
    foreach($lines as $data)
    {
        //Si la ligne $data comprend au moins un ;
        if(strpos($data, ';'))
        {
            //On met dans le Tableau $fields les données de la ligne $Data mais sans les ;
            $fields = explode(';', $data);
            //Si le tableau n'est pas vide
            if(!empty($fields))
            {
                //On rempli le tableau des valeurs du fichier
                echo "\t<tr>\n";
                    echo "\t\t<td>";
                        //On insère entre chaque valeur $fields les balises pour le tableau
                        echo implode("</td>\n\t\t<td>", $fields);
                    echo "</td>\n";
                echo "\t</tr>\n";
            }
        }
    }
    echo "</table>\n";
    ?>
    J'espère que ceci t'aidera.
    Caponord38
    A+

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/10/2013, 11h40
  2. [XL-2000] Mise en forme d'un fichier Csv contenant des informations Hexa
    Par lexxor dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/09/2013, 14h22
  3. importation fichier csv vers mysql par php
    Par frboyer dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2009, 09h21
  4. [CSV] Importer un fichier CSV ou OV2 dans une page PHP
    Par gpsevasion dans le forum Langage
    Réponses: 13
    Dernier message: 12/02/2009, 14h31
  5. Import d'un fichier CSV dans access par VB
    Par Shoezman13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/06/2008, 10h43

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