Fonction de recherche en php

Fermé
Littlenico Messages postés 68 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 5 mars 2009 - 6 juin 2006 à 16:30
 Greg - 12 nov. 2007 à 15:28
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
A voir également:

7 réponses

SJEric Messages postés 26 Date d'inscription jeudi 18 janvier 2001 Statut Membre Dernière intervention 13 juin 2006 1
6 juin 2006 à 16:43
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
Il faut t'orienter à mon avis du côté de preg_match.
https://www.php.net/manual/fr/function.preg-match.php
0
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
Littlenico Messages postés 68 Date d'inscription samedi 11 février 2006 Statut Membre Dernière intervention 5 mars 2009 2
7 juin 2006 à 18:17
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Bonjour,
Et sinon, utiliser une BDD c'est pas plus simple ? ^^
0
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