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 :

Parcourir un fichier .txt en php [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    Je peux pas le modifier je travaille sur intranet.

    Mais comment faut que je le declare mon tableau?

    Merci

  2. #22
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    oui car là tu nous condamne à voir les erreurs évidentes au petit bonheur la chance... on est pas des compilateurs...


  3. #23
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par amandev Voir le message
    Je peux pas le modifier je travaille sur intranet.
    Il suffit juste de mettre au debut de ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ini_set('display_errors', 1);
    error_reporting(-1);

  4. #24
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    D'accord merci beaucoup. Alors voila mes erreurs:

    Notice: Undefined variable: fichier in /var/www/intranet/logistique/BD EPI/inserépersonne_base.php on line 7

    Notice: Undefined variable: tableau in /var/www/intranet/logistique/BD EPI/inserépersonne_base.php on line 12

    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
    <?php
    ini_set('display_errors', 1);
    error_reporting(-1);
     
    $handle = fopen("pers.csv", "r");
    echo "<table>";
    while ($ligne = fgetcsv($handle, filesize($fichier), ";")){
      echo"<tr>";
      $nbcol = count($ligne);
      for($i=0; $i<$nbcol; $i++)
      {
    	echo"<td>".$tableau[$i]."<td>";
      }
      echo"</tr>";
    }
    echo"</table>";
    //fclose($handle);
    ?>

  5. #25
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    mais

    pourquoi avoir mis $tableau ?
    pourquoi avoir mis un filesize ?

  6. #26
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    J'ai pris un exemple, car je sais pas du tout comment ca marche désolée

  7. #27
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par amandev Voir le message
    J'ai pris un exemple, car je sais pas du tout comment ca marche désolée
    dans l'exemple y'a ni $tableau, ni de filesize

    donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $handle = fopen("pers.csv", "r");
    echo "<table>";
    while ($ligne = fgetcsv($handle, 0, ";")){
      echo"<tr>";
      foreach($ligne as $data)
      {
    	echo"<td>".$data."<td>";
      }
      echo"</tr>";
    }
    echo"</table>";
    fclose($handle);
    change le séparateur si c'est pas un ;

  8. #28
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    Peux tu m'expliquer pourquoi tu as mis 0 et $data?

    Merci

  9. #29
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    pour toi $tableau, c'est $ligne à la place... et $fichier c'est "pers.csv"

    faudrait peut-être que tu potasse les tutoriels de base sur php...

    car là tu pompes du code que tu comprends pas vraiment (pour ne pas dire du tout) car tu manque de quelques bases minimales...

    d'où le fait que tu ne vois pas certains problèmes évidents...


  10. #30
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par amandev Voir le message
    Peux tu m'expliquer pourquoi tu as mis 0 et $data?

    Merci
    le 0 est expliquer dans la doc,
    le $data pour le foreach

    je te conseil d'apprendre les bases de PHP avant de lancer dans un projet ...

  11. #31
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    je cherche juste à comprendre comment marche cette fonction c'est tout. Je connait pas tout en php c'est tout. Merci de votre aide quand même.

    Ca marche merçi. Maintenant faut que j'insére ca dans ma base de données.

  12. #32
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    Quelqu'un pourrait juste m'expliquer comment faire sa s'il vous plait?Merci

  13. #33
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    le foreach te fait l'affichage
    il va falloir maintenant déterminer quelles colonnes de ton csv vont être à insérer dans table
    et construire la requête en fonction de celà

    au début de ton code php tu devra mettre le code php pour faire la connexion à ta base de donnée, selectionner la bd (mysql_connect, mysql_db_select)
    utilise pour l'instant l'extension mysql de php pour voir la documentation
    et dans cette partie du forum plein de gens pose des question sur ça donc tu auras plein d'exemple

    l'exécution de la requête nécessitera mysql_query

    vu que tu es encore ultra débutante, tu devras ensuite remplacer la connexion et le reste par leur équivalent utilisant mysqli ou pdo comme extension...

    je te laisse faire quelques recherches
    ponds moi les 2 lignes de code pour gérer la connexion et la sélection...

    prendre du code que tu comprends pas sert à rien et est générateur de plus d'emmerdes que de solution...

    en informatique, le par cœur sers à rien, il faut:
    comprendre le problème
    savoir chercher rapidement un truc dans la doc pour y répondre techniquement

    tu ne pourras jamais tout connaitre... le but c'est d'être efficace en terme de recherche pour savoir ce qui est faisable ou pas... l'expérience te servant juste à aller plus vite soit dans les recherches soit dans le fait de ne pas avoir à chercher...

    alors cherche, propose ton code et on te corrigera

    mais si on fait le truc à ta place ça ne servira à rien et surtout pas à toi... surtout si tu dois devenir pro

  14. #34
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    Merci beaucoup Eric de ton aide. Mais je demande pas qu'on me le fasse t'inquiète pas juste qu'on me guide un peu. Mais dans mon SELECT comment je dit que je veux sélectionner les fichiers de mon csv?

  15. #35
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    J'ai attaqué à faire ca

    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 require_once('connexion.php');
    //ini_set('display_errors', 1);
    //error_reporting(-1);
     
    $handle = fopen("pers.csv", "r");
    echo "<table>";
    while ($ligne = fgetcsv($handle,";")){
     
    	$nom = $data[0];
    	$prenom = $data[1];
    	$datenaissance = $data[2];
    	$matricule = $data[3];
    	$centre = $data[4];
     
    	mysql_select_db($database, $equip);
    	$requete = "INSERT INTO SAPEURS (MATRICULESP,NOMSP,PRENOMSP,DATERECRUTEMENTSP,NUMCS)
                    VALUES ('$matricule', '$nom', '$prenom', '$datenaissance', '$centre')";
         mysql_query($requete);
     
     
    	echo"<tr>";
      $nbcol = count($ligne);
      for($i=0; $i<$nbcol; $i++)
      {
    	echo"<td>".$ligne[$i]."<td>";
      }
      echo"</tr>";
    }
    echo"</table>";
    fclose($handle);
    ?>

  16. #36
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    y a de l'idée mais qu'est ce que fout mysql_select_db dans ta boucle?

    et il manque la connexion...

    un vrai algorythme robuste (qui prend en compte les défaillances):
    Code algo : 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
    connexion bd
    si bon
    {
      selection bd
      si bon
      {
         ouverture fichier
         si bon
         {
           tant que lecture de ligne
           {
             extraire les données de la ligne
             faire insertion dans la bd
           }
           fermeture fichier
         }
         sinon
           traitement erreur fichier
      }
      sinon
        traitement erreur sélection bd
    }
    sinon
      traitement erreur connexion bd

    ton code doit donc ressembler à ça, en utilisant ce que tu as déjà fait et pas encore
    tu peux ne pas implémenter les sinon mais ça te prive de savoir ce qui plante au cas où, mais c'est pas la priorité

    ne mets jamais les identifiant et mdp de connexion en clair ici pense bien à mettre des trucs bidon à la place...

  17. #37
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    Non ma connexion c'est require('connexion.php');

  18. #38
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    j'avais pas fait gaffe

    regarde l'algorithme où est la sélection de bd?

  19. #39
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 50
    Par défaut
    oui j'ai fait sa

    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
    <?php require_once('connexion.php');
    mysql_select_db($database, $equip);
    $handle = fopen("pers.csv", "r");
    echo "<table>";
    while ($ligne = fgetcsv($handle,";")){
    	echo"<tr>";
      $nbcol = count($ligne);
      for($i=0; $i<$nbcol; $i++)
      {
    	echo"<td>".$ligne[$i]."<td>";
      }
      echo"</tr>";
     
    	$nom=$ligne[0];
    	$prenom=$ligne[1];
    	$datenaissance=$ligne[2];
    	$matricule=$ligne[3];
    	$centre=$ligne[4];
     
     
    	$requete = "INSERT INTO SAPEURS (MATRICULESP,NOMSP,PRENOMSP,DATERECRUTEMENTSP,NUMCS)
                    VALUES ('$matricule', '$nom', '$prenom', '$datenaissance', '$centre')";
         mysql_query($requete);
     
    }
    echo"</table>";
    fclose($handle);
    ?>

  20. #40
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    mieux...

    là ça devrait marcher (à première vue)

    tu devrais suivre mon algo et bien déléimiter ce qui doit se faire si chaque étape précédente fonctionne...

    ça évite les mauvaises surprises

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

Discussions similaires

  1. Lire et parcourir un fichier .txt en php
    Par okoweb dans le forum Langage
    Réponses: 3
    Dernier message: 06/09/2012, 13h24
  2. PB manipulation fichier txt en php
    Par toulonnais83 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2007, 00h23
  3. parcourir un fichier txt à la recherche d'une chaine
    Par Zen_Fou dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2007, 23h25
  4. Flash, fichier txt et PHP ?
    Par djedje37et28 dans le forum Langage
    Réponses: 1
    Dernier message: 08/09/2006, 21h25

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