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 :

insertion dans base avec récupération d'id [Fait]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Par défaut insertion dans base avec récupération d'id
    Bonjour à tous,
    Je cherche à créer un script php qui va inserer les valeurs d'un fichier csv dans une table "data" sachant que cette table à comme champs les id de 5 autres tables.
    j'aimerais donc:- lire le fichier csv et définir les champs,
    - lire les valeurs et aller chercher leur id correspondant dans les tables annexes .
    - et enfin insérer ces valeusr d'id (qui est toujours un autoincrement au passage) dans les champs correspondant de la table data.

    je ne voit pas pas ou commencer ..Serait-il possible de me dire si déja ce script est réalisable ?et ensuite me donner des pistes pour démarrer ?
    merci beaucoup!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour et bienvenu sur le forum,

    je ne voit pas pas ou commencer
    Commençons par le début : lecture d'un fichier csv.

    Tu as un exemple dans la documentation
    http://fr3.php.net/fgetcsv
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Par défaut
    Merci de votre acceuil!
    et merci pour cette première étape,j'obtient donc bien la liste de mon fichier csv avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $row = 1;
    $handle = fopen("liste.csv", "r");
    while (($data = fgetcsv($handle, 4096, ";")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour la deuxieme étape, je ferrais cela comme ca :

    Tu lis les tables de reference et pour chacune tu stockes les données dans des tableaux PHP de la forme $tab = array(valeur=>id).
    Ainsi tu tu fais ta correspondance pour ton champ du csv $data[0] avec $tab[$data[0]]

    Tu n'auras donc plus qu'a inserer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while (($data = fgetcsv($handle, 4096, ";")) !== FALSE) {
    $sql = "INSERT INTO data VALUES($tab0[$data[0]], $tab1[$data[1]])";
    ....
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [MySQL] Script php avec insertion dans base de données qui s'arrête tout seul
    Par tofito dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 04/12/2008, 21h39
  2. Réponses: 6
    Dernier message: 09/06/2006, 12h17
  3. Réponses: 9
    Dernier message: 13/10/2005, 18h24
  4. Réponses: 8
    Dernier message: 11/05/2005, 14h48
  5. [ADO.NET] Problème avec Insert dans base de données
    Par mpascolo dans le forum Accès aux données
    Réponses: 9
    Dernier message: 24/01/2005, 09h36

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