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

Langage PHP Discussion :

[CSV] Exploitation du format csv


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut [CSV] Exploitation du format csv
    Bonjour, j'ai un fichier csv contenant l'annuaire interne de ma société, je veux via le formulaire et code suivant trouver le nom recherché et afficher la ligne correspondante.....

    Voici donc le code, je suis pommé j'espère que qq'un pourra me venir en aide sur ce problème... Merci d'avance



    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
    <form action="Recherche.php" method="post"> 
    <p> 
    <input type="text" name="nom" /> <input type="submit" value="Valider" /> 
    </p> 
    </form> 
     
     
    <?
    error_reporting(E_ALL);
     
    // on récupère le nom si existe, sinon FAUX
    $nom = isset($_POST['nom']) ? $_POST['nom'] : false;
    $file = "Annuaire.csv";
     
    if ( $nom ) { // si un nom (!!! autre que '' ou '0' ou 'null' !!!)
      $fp = fopen($file, 'rt') or die('erreur ouverture fichier');
       $i = 0;
       while( ($csv = fgetcsv($fp)) or !feof($fp) ) { // on récupère un tableau pour chaque ligne 
           if( in_array($nom, $csv) ) var_export($csv); 
           //else echo "Le nom que vous recherchez n'a pas été trouvé";
           $i++;
      }
      fclose($fp);
    }
    ?>

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Et c'est quoi ton problème ?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    Et bien en fait lorsque je recherche un nom, ca me trouve rien sauf celui de la premiere ligne.

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    tu peux nous donner la ligne ainsi que le nom cherché ?

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    ACCUEIL, LAFRANCAISE,STANDARD,05 XX XX XX XX,05 XX xx XX xx,accueil@x.com
    Voila la première ligne du fichier csv apparemment, la recherche ne va pas plus loin....

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    et le var_export te donne quoi ?

  7. #7
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    sur cette ligne, ca me renvoie:
    array ( 0 => 'ACCUEIL', 1 => 'LAFRANCAISE', 2 => 'STANDARD', 3 => '05 XX XX XX XX, 4 => '05 XX XX XX XX, 5 => 'accueil@X.com', )

  8. #8
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    et tu cherchait quoi ? var_dump($nom) avant ton if donne quoi ?

  9. #9
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    ah cette ligne est bonne en fait mais dès que je recherche un nom qui se trouve après cette ligne, ca ne me trouve rien et aucune erreur n'apparait

  10. #10
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Tu peux nous mettre la chaine que tu cherches -- bis repetita -- ainsi que la ligne csv théoriquement bonne, le tout dans les balises [code] afin de nous faciliter le travail... ?

  11. #11
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    Voici le tout début de mon fichier csv, je veux faire une recherche sur le premier champ de chauqe ligne c'est à dire le nom des personnes...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ACCUEIL, LAFRANCAISE,STANDARD,05,05,accueil@x.com
    Sébastien,LAFRANCAISE,BE Armoires,05,9143,05,s@x.com

  12. #12
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Bon. Passage en mode debugage.

    Quel est le résultat de ceci (copier-coller dans un nouveau fichier) ?
    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
    <form action="" method="post">
    <p>
    <input type="text" name="nom" /> <input type="submit" value="Valider" />
    </p>
    </form>
     
    <pre>
    <?
    error_reporting(E_ALL);
     
    // on récupère le nom si existe, sinon FAUX
    $nom = isset($_POST['nom']) ? $_POST['nom'] : false;
    $file = "Annuaire.csv";
     
    if ( $nom ) { // si un nom (!!! autre que '' ou '0' ou 'null' !!!)
      $fp = fopen($file, 'rt') or die('erreur ouverture fichier');
       $i = 0;
       while( ($csv = fgetcsv($fp)) or !feof($fp) ) { // on récupère un tableau pour chaque ligne
           var_dump($nom, in_array($nom, $csv), $csv);
           echo "\n===========================\n";
      }
      fclose($fp);
    }
    ?>

  13. #13
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    deja y a pas le meme nombre de champs sur tes lignes, c est normal ?

  14. #14
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut

    Bien vu oeil-de-lynx ! même si je doute que ça ait un rapport...

  15. #15
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    Pour accueil ca me trouve bien apparemment :
    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
     
    string(7) "ACCUEIL"
    bool(true)
    array(6) {
      [0]=>
      string(7) "ACCUEIL"
      [1]=>
      string(18) "LAFRANCAISE"
      [2]=>
      string(8) "STANDARD"
      [3]=>
      string(14) "05 "
      [4]=>
      string(14) "05 "
      [5]=>
      string(18) "accueil@x.com"
    }
    Par contre pour un autre nom, ca me liste tous les noms de la même manière mais avec bool(false)

  16. #16
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Grrr

    Montre le résultat, sinon je te crois pas

  17. #17
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    est ce que ca serais pas les fins de ligne qu il trouve pas ?

  18. #18
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    peut etre, les lignes doivent se finir comment?
    sinon comment faut il préciser leur fin avec fgetcsv($fp))??

Discussions similaires

  1. [ format ] csv
    Par hocinema dans le forum Documents
    Réponses: 2
    Dernier message: 14/03/2006, 13h46
  2. [phpMyAdmin] Exporter une requête au format CSV
    Par nicoaix dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/02/2006, 18h05
  3. Exportation d'une bd mysql vers un format csv
    Par derric8016 dans le forum Outils
    Réponses: 5
    Dernier message: 13/01/2006, 21h58
  4. query format csv
    Par tiopan dans le forum Access
    Réponses: 3
    Dernier message: 29/09/2005, 14h27
  5. [D6][Excel] Comment enregistrer en format csv ?
    Par ShinGaruda dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 04/05/2005, 19h59

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