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 :

Insertion dans un fichier trié par ordre croissant


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut Insertion dans un fichier trié par ordre croissant
    Bonjours,
    je me permet de vous ecrire car j'ai un souci, je dois rentrer un mot dans un fichier en partant du principe que les autres mots de se fichier sont classé par ordre croissant.
    J'ai lu le poste concernant le dictionnaire de cuisine, j'ai presque le meme travail a faire mais malheureusement je suis moin avancé que lui et son poste ne répond pas a mes question, ou pas completement.

    merci par avance de votre aide

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Je te propose ça :

    - lire le fichier
    - mettre les mots lus dans un tableau
    - ajouter le mot à inserer dans le tableau
    - classer le tableau
    - lire le tableau et ré-ecrire le fichier

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    cela l'air d'etre une tres bonne idée je vais tester de se pas...
    merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    en revanche petite question si je dois mettre le conptenu dans un tableau je suppose que je dois faire une boucle pour qu'il lise le fichier ligne par ligne que je creer une seconde boucle imbriqué pour insérer dans le tableau en tab[i]
    mais je confond un peu entre le C et le php je ne dois pas plutot utiliser le fetch_assoc? je dois faire une boucle aussi ?
    je suis perdu ...
    merci de votre aide

  5. #5
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'y a qu'une seule boucle : pour chaque ligne tu fais lecture + ajout dans le tableau.
    xxx_fetch_assoc ce sont des fonctions de base de donnée.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    cette fonction est-elle compatible avec le travail de fichier?

  7. #7
    Membre confirmé
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 454
    Points
    454
    Par défaut
    Salut,

    Pour lire le fichier :

    - fonction file_get_contents, qui renvoie le contenu du fichier dans une chaine de caractere
    OU
    - fonction file, qui retourne un tableau contenant chaque ligne du fichier.
    Avec file_get_contents, il faudra ensuite utiliser la fonction explode pour mettre la chaine sous forme de tableau.

    Ensuite :

    - ajouter le mot dans le tableau (par exemple avec la fonction array_push
    - trier le tableau (fonction sort)
    - mettre le tableau sous la forme d'une chaine de caracteres (fonction implode)
    - ecrire la chaine dans le fichier (fonction file_put_contents)

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    merci en revanche je ne comprend pas quand je lui demande d'ecrire il ecris a la ligne, je veux qu'il efface l'ancien contenu pour que je puisse mettre le nouveau contenu trié

    deplus quand il m'enregistre les nouveau mots il me met plein de carrée [] []
    pourquoi?
    merci de votre reponse

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    c'est bon j'ai trouver mes questions, mais comment rajouter un autre caractere dans le tableau qui n'etais pas dans le document avant qu'ils le trie?

  10. #10
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    tu devrais te repencher sur les bases de la syntaxe PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau[] = "nouvelle entrée";

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    c'est se que je fesait mais il inserait le mots en le collant a un autre deja existant

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    dur cette astuce \r\n permet de le faire.
    je trouve que les tuto sur les manip de fichier ne sont pas complete c'est vraiment pas facile de trouver des infos.
    le je cherche a a ajouter un "nom", puis un "synonyme" de se nom jusque la pas de souci (je vais mieux m'exprimer pour ne pas que l'on me renvoi a des bases...)
    l'ajout ne pose pas de souci mais il me faudra pouvoir modifier séparement l'un ou l'autre therme, c'est a dire si je veux juste modifier le synonyme et que les deux sont sur la meme ligne comment va t'il le lire et les différencier?
    je sais qu'il y a une histoire de séparateur mais piur le moment je ne comprnd pas bien sont fonctionnement...
    merci de votre aide

  13. #13
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu veux mettre plusieurs mots associés par ligne, fait un fichier CSV.

    Le principe reste le meme, tu as des fonctions qui facilement la lecture et l'ecriture des lignes : fuptcsv() et fgetcsv()

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 431
    Points : 129
    Points
    129
    Par défaut
    très bonne idée malheureusement je n'ai pas le droit de le faire autre que sur un .txt
    enoncer obligatoire, sinon je me serai pas prit la tete et j'aurai fait une BDD, nous somme bien d'accord

  15. #15
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    un fichier csv est un fichier texte.

Discussions similaires

  1. Tri par ordre croissant dans des TextBox
    Par neoph dans le forum VB.NET
    Réponses: 6
    Dernier message: 01/12/2012, 18h31
  2. Tri par ordre croissant dans une listview
    Par megamario dans le forum VB.NET
    Réponses: 26
    Dernier message: 09/07/2010, 10h01
  3. Tri par ordre croissant dans variable tableau
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 27/11/2009, 16h51
  4. Tri par ordre croissant
    Par KinF dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 13/12/2008, 20h19
  5. URGENt: recherche dans un tableau trié par ordre alphabetiqu
    Par JulPop dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2005, 17h21

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