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 :

Afficher et comparer variables à partir de 2 fichiers textes


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Afficher et comparer variables à partir de 2 fichiers textes
    Bonjour,
    J'aurais besoin de vos lumières, mes compétences en php sont un peu limitées et je ne trouve pas de solutions à mon problème.
    Je suis en train de développer un sytème de drag and drop qui permet de sauvegarder l'ordre dans un fichier texte (j'arrive à enregistrer l'ordre)
    J'ai deux fichiers textes, un qui contient l'ordre des calques (C#2,C#1,C#3) et un deuxième fichier texte qui contient l'information à mettre dans chaque div (titre,auteur classé par références C# à chaque début de ligne).

    mon 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
    15
    16
    17
    18
    19
    20
    21
    <?php
    $fichier = fopen("data.txt","r"); //lecture du fichier
    while (!feof($fichier)) { //on parcourt toutes les lignes
    $page = fgets($fichier, 4096); // lecture du contenu de la ligne
    $filePath = 'infos.txt'; 
    $lignes = file($filePath); 
     
    foreach ($lignes as $num => $data) { if (strpos($data,$liste[$i]) == 0) {
     
    	$tab = explode(",", $lignes[$num]); 
    	$length2 = count($tab);
    	for($i = 0; $i < $length2; $i++);
    	 }}
    	$liste = explode(",", $page); //on mets les différentes valeurs de la ligne dans le tableau
            $length = count($liste);
    	for($i = 0; $i < $length; $i++)
     
            echo '<li class="ui-state-default" id='.$liste[$i].'>titre '.$tab[1].' auteur '.$tab[2].'</li>';
         }
    fclose($fichier);
    ?>
    Donc l'idée c'est d'abord de vérifier l'ordre dans le fichier data.txt et après d'afficher les informations selon cet ordre.
    Actuellement ça m'affiche bien l'ordre mais les infos sont doublées (deux fois la même info)

    data.txt :
    C#2,C#1,C#3

    infos.txt :
    C#1,titre,auteur
    C#2,titre,auteur
    C#3,titre,auteur

    Si vous avez une idée je suis preneur !

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai trouvé la fonction array_multisort
    ça pourrait faire ce dont j'ai besoin? je ne vois pas comment l'adapter à mon 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
    15
    16
    17
    18
    19
    $ MyArray = array (
     
    array(7, 11, 2, 10, 200),
     
    array (1, 65, 2, 3, 76)
     
    );
     
    array_multisort ($ myArray [0], SORT_NUMERIC, SORT_ASC, $ myArray [1]);
     
    print_r ($ myArray);
     
    Vous pouvez utiliser "SORT_NUMERIC", "SORT_REGULAR" ou "SORT_STRING" comme argument pour définir quel type les valeurs de tableau doivent être traités comme. Le "SORT_STRING" et types "SORT_REGULAR" sont sensibles à la casse. Le "SORT_ASC" et "SORT_DESC" réglé le tri à faire dans l'ordre croissant ou décroissant.
     
    Les tableaux triés ont une valeur de:
     
    Array (2, 7, 10, 11, 200)
     
    Array (2, 1, 3, 65, 76)

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Si ton fichier infos.txt a une taille raisonnable, tu peux le charge en mémoire dans un tableau indexé par référence de calque. Tu n'auras plus qu'à faire une boucle sur les données de data.txt et récupérer les infos à partir de l'index.

    Au passage, si ton fichier a un format du type CSV (données sur une liste, avec un séparateur), tu peux utiliser str_​getcsv ou fgetcsv() pour les lire.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2007, 14h58
  2. [INFO] Traitement d'un fichier texte
    Par doudine dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 25/04/2006, 09h23
  3. Réponses: 11
    Dernier message: 04/08/2003, 15h30

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