Creation d'un systeme de recherche
Dernière réponse : dans Programmation
Bonjour ,
Je souhaiterais creer un module de recherche qui permettrais de retrouver des mots , je voudrais en tapant par exemple photoshop , retrouver ce mot dans une liste préalablement fait avec une definition de ce mot .
Est ce que quelqu un pourrait m'aider pour faire ce module de recherche ?
Merci
Je souhaiterais creer un module de recherche qui permettrais de retrouver des mots , je voudrais en tapant par exemple photoshop , retrouver ce mot dans une liste préalablement fait avec une definition de ce mot .
Est ce que quelqu un pourrait m'aider pour faire ce module de recherche ?
Merci
Autres pages sur : creation systeme recherche
Lassé par la pub ? Créez un compte
Tu peux écrire ta liste comme ça (liste.txt) :
truc | définition
...
Et le script php :
$fichier = file('http://XXXXXXXX/liste.txt');
for ($i=0;$i<count($fichier); $i++)
{
$ligne = explode(" | ",$fichier[$i]);
if ($ligne[0] == $recherche)
{
echo $ligne[1] . "\n";
}
}
?>
Si ce fichier est nommé recherche.php, l'adresse pour avoir la définition de photoshop sera :
http://XXXXXXXX/recherche.php?recherche=photoshop
Citation :
photoshop | Logiciel d'édition d'images professionnel qui coûte la peau du cultruc | définition
...
Et le script php :
Citation :
<?php$fichier = file('http://XXXXXXXX/liste.txt');
for ($i=0;$i<count($fichier); $i++)
{
$ligne = explode(" | ",$fichier[$i]);
if ($ligne[0] == $recherche)
{
echo $ligne[1] . "\n";
}
}
?>
Si ce fichier est nommé recherche.php, l'adresse pour avoir la définition de photoshop sera :
http://XXXXXXXX/recherche.php?recherche=photoshop
Voila ce que ca mets quand je lance recherche.php:
Warning: file(): php_network_getaddresses: gethostbyname failed in c:\program files\easyphp1-8\www\site\recherche.php on line 2
Warning: file(http://XXXXXXXX/liste.txt): failed to open stream: No error in c:\program files\easyphp1-8\www\site\recherche.php on line 2
Notice: Undefined variable: recherche in c:\program files\easyphp1-8\www\site\recherche.php on line 7
Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\site\recherche.php on line 9
Warning: file(): php_network_getaddresses: gethostbyname failed in c:\program files\easyphp1-8\www\site\recherche.php on line 2
Warning: file(http://XXXXXXXX/liste.txt): failed to open stream: No error in c:\program files\easyphp1-8\www\site\recherche.php on line 2
Notice: Undefined variable: recherche in c:\program files\easyphp1-8\www\site\recherche.php on line 7
Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\site\recherche.php on line 9
Mais si mais si ^^
Ton problème est que tu ne sais pas décoder précisemment une URL...
Comme on te l'a dit, dans ton navigateur avec le serveur lancé tu devra mettre http://localhost/recherche.php et SI NECESSAIRE (ça n'est pas obligatoire) rajouter le nom du dossier qui contient ton fichier recherche.php...DANS TOUS LES CAS, ton dossier contenant le fichier DOIT se trouver dans le dossier www de EasyPHP
Exemple: Ton fichier se trouve sur ton disque au chemin c:\program files\EasyPHP\www\Siteweb1\recherche.php . Alors tu rentrera comme URL http://localhost/Siteweb1/recherche.php
Si ton fichier se trouve simplement à c:\program files\EasyPHP\www\recherche.php alors dans l'URL tu n'auras plus qu'a taper http://localhost/recherche.php
@+
Ton problème est que tu ne sais pas décoder précisemment une URL...
Comme on te l'a dit, dans ton navigateur avec le serveur lancé tu devra mettre http://localhost/recherche.php et SI NECESSAIRE (ça n'est pas obligatoire) rajouter le nom du dossier qui contient ton fichier recherche.php...DANS TOUS LES CAS, ton dossier contenant le fichier DOIT se trouver dans le dossier www de EasyPHP
Exemple: Ton fichier se trouve sur ton disque au chemin c:\program files\EasyPHP\www\Siteweb1\recherche.php . Alors tu rentrera comme URL http://localhost/Siteweb1/recherche.php
Si ton fichier se trouve simplement à c:\program files\EasyPHP\www\recherche.php alors dans l'URL tu n'auras plus qu'a taper http://localhost/recherche.php
@+
Normal car avec le code que l'on t'as fourni, tu as le module de recherche mais pas celui qui te permet de modifier ce module pour entrer les paramètres de ta recherche...
Voici donc ton "nouveau" module de recherche que tu met à la place du code existant dans recherche.php:
$reponse_fichier = file('http://XXXXXXXX/liste.txt');//Récupération des données du fichier sous forme d'array. Une ligne fichier = une ligne indexée dans l'array $reponse_fichier
foreach ($reponse_fichier as $ligne){//Plus efficace et plus simple que la commande for(...). Elle scanne automatiquement toutes les lignes de l'array donné en argument et le stocke temporairement dans la deuxième variable $ligne
$data = explode(" | ",$ligne);//Coupe la chaine de caractère dans un array a chaque occurence du caractère | contenu dans $ligne
if ($data[0] == $_POST['recherche']){//Vérifie si le 1er élément du tableau d'information (=nom du logiciel) est égal au nom demandé
echo ($data[1]."\n");//Si la condition est vérifiée, affiche la description contenue dans la 2eme cellule de l'Array (=description du logiciel)
}
}?>
Ici, le code a copier-coller dans un fichier nommé "chercher.html" qui DOIT se trouver dans le même dossier que recherche.php. Sans ça, ça ne marchera jamais:
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
</head>
<body>
<form method="post" action="recherche.php">
<label>Nom du logiciel a chercher:<input type="text" name="recherche"/></label>
<input type="submit" value="Rechercher"/>
</form>
</body>
</html>
Et voila le système prêt...Maintenant tu ouvre ton navigateur et tu rentre les adresses qu'on t'as déjà donné en oubliant pas de remplacer "recherche.php" par "chercher.html". Normalement ça devrai fonctionner
@+
Citation :
<?php$reponse_fichier = file('http://XXXXXXXX/liste.txt');//Récupération des données du fichier sous forme d'array. Une ligne fichier = une ligne indexée dans l'array $reponse_fichier
foreach ($reponse_fichier as $ligne){//Plus efficace et plus simple que la commande for(...). Elle scanne automatiquement toutes les lignes de l'array donné en argument et le stocke temporairement dans la deuxième variable $ligne
$data = explode(" | ",$ligne);//Coupe la chaine de caractère dans un array a chaque occurence du caractère | contenu dans $ligne
if ($data[0] == $_POST['recherche']){//Vérifie si le 1er élément du tableau d'information (=nom du logiciel) est égal au nom demandé
echo ($data[1]."\n");//Si la condition est vérifiée, affiche la description contenue dans la 2eme cellule de l'Array (=description du logiciel)
}
}?>
Citation :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
</head>
<body>
<form method="post" action="recherche.php">
<label>Nom du logiciel a chercher:<input type="text" name="recherche"/></label>
<input type="submit" value="Rechercher"/>
</form>
</body>
</html>
@+
Bin tu cherche un attribut de ligne de ce rapport qui est strictement différent d'une ligne a une autre, tu regarde si il se trouve un caractère qui ne bouge pas juste après et dans le script PHP, tu remplace | par ton caractère constant et dans le champ sur le navigateur, tu dois rentrer le paramètre variant que tu as repéré et qui sera spécifique a une ligne (ou a un ensemble de ligne concernant le meme évennement)
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumRecherche Creation Logo
- ForumRecherche client pour creation d'un site Internet
- ForumRecherche logiciel de creation de musique forum
- ForumCréation d'un flyer Recherche étudiant capable d'en faire 1
- ForumRecherche graphistes création t-shirt
- ForumRecherche aide pour création logo
- Forumrecherche graphiste - creation logo - papier en tete ...
- ForumRecherche site creation Tee shirt perso merci
- ForumCréation d'un Moteur de recherche.
- Voir plus