Fonction de recherche en php

Littlenico Messages postés 70 Statut Membre -  
 Greg -
bonjour à tous. voilà mon pb :
j'ai un fichier "Etudiants.txt". en langage php je souhaite faire une fonction qui recherche un nom qu'un utilisateur veut rechercher dans ce fichier, et qui renvoit vrai si trouvé et faux sinon.
merci
Configuration: php

7 réponses

  1. SJEric Messages postés 26 Date d'inscription   Statut Membre 1
     
    Hum, c'est question intéressante. Est-ce que ton fichier txt est formaté ?? Je veux dire par exemple une tabulation entre les différentes informations ... Dans ce cas, il faudrait parcourir le fichier jusqu'à la fin, pour chaque ligne, il faudrait tester le nom trouvé (le comparer avec celui demandé....) Hum, à moins qu'il y'ait qqchose d'existant déjà ....
    0
  2. Yvan
     
    Voici un exemple de ce que j'aurais fait :

    <?php
    
    $fic = fopen('ton_fichier.txt', 'r');
    $recherche = 'ASSELIN';
    
    while( !feof($fic) )
    {
        $ligne = fgets($fic, 4096);
        if( preg_match('#' . $recherche . '#', $ligne) )
        {
            $result = $ligne;
            break;
        }
    }
    echo $result;
    
    ?>


    Tu récupère les résultats séparément avec un explode.

    Mais il y a peut-être des fonctions de recherches déjà établies pour les fichiers.
    0
  3. Littlenico Messages postés 70 Statut Membre 2
     
    ok merci
    et dans les paramètres de fget à la place de 4096 est-ce que j'aurai pu mettre * pour lui dire de lire tout le fichier ?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Yvan
     
    Non, fgets retourne la ligne courante lue par php.
    http://fr3.php.net/manual/fr/function.fgets.php

    D'ailleurs tu peu réduire la valeur.

    Si tu avais plusieurs personnes ayant le même nom, ou prénom, il te faut construire un array() dans ta boucle, et enlever le break.

    Après tu lis le résultat dans un foreach() et letour est joué.
    0
  6. Traize
     
    Bonjour,
    Et sinon, utiliser une BDD c'est pas plus simple ? ^^
    0
  7. Greg
     
    Bonjour,
    J'aimerais faire un moteur de recherche en php sur un seul fichier html. Par exemple, je veux rechercher le mot hello dans un fichier ou il y a plusieur mots hello. J'aimerais que le resultat s'affiche sous la forme :

    Resultat 1 :
    blablabla
    blablabla
    blablabla hello blablabla
    blablabla
    blablabla
    Resultat 2 :
    blablabla
    blablabla
    blablabla hello blablabla
    blablabla
    blablabla
    Resultat 3 :
    blablabla
    blablabla
    blablabla hello blablabla
    blablabla
    blablabla

    Je ne suis pas bon en php mais je crois qu'il faut utiliser les fonctions foreach et while. Si quelqu'un peut m'aider. Je lui en remercie d'avance.
    0