Aller au contenu

moteur de recherche synonymes


Sujets conseillés

Posté (modifié)

Bonjour,

Je suis entrain de développer le moteur de recherche pour mon site et j'ai fait une fonction similaire aux synonymes de google (c-a-d que lorsque vous orthographier mal un mot, un lien vous propose la bonne orthographe).

Jusque là tout va bien mais je me demande comment je peux faire pour renvoyer le mot proposer en lien dans le champ texte de recherche.

Mon formulaire avec la barre de recherche:

<form class="search-form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get"> 
<div class="search-div">
<input type="text" class="input-text" name="query" size="70px" value="<?php echo $displayQuery ?>" />
<input type="submit" class="input-submit" value="Search" />
<br />
</form

Ma fonction qui retourne les synonymes :

if($results->synonyme[0]!=null)
echo "<p style=\"font-weight: bold;\">Essayez avec cette orthographe :<a href=***c'est là que je bloque***>".$results->synonyme[0]."</p>";
else
echo "<p style=\"font-weight: bold;\">Les termes de recherche spécifiés - ". ."– ne correspondent à aucun document.<br />}

Voilà, si vous avez une idée, je la prend.merci

++

Modifié par william_dallas
Posté

Bonjour,

ta recherche initiale est effectuée via un formulaire utilisant la méthode "GET", ainsi les valeurs définie dans ce formulaire sont passée par l'URL, par la querystring c'est-à-dire tout ce qui vient après le premier point d'interrogation dans l'URL.

Ainsi tu peux "simuler" la soumission du formulaire en composant ton URL de la même manière que ton navigateur le fait lorsqu'il est soumis par un utilisateur. Le format pour passer une variable GET est le suivant :

echo '<p style="font-weight: bold;">Essayez avec cette orthographe :<a href="script_de_recherche.php?query='.urlencode($results->synonyme[0]).'">'.$results->synonyme[0].'</p>';

La fonction urlencode sert à gérer les caractères "spéciaux", si tu souhaite utiliser cette variable par la suite tu peux la passer dans urldecode. Bien sûr l'adresse du lien est à modifier, ainsi que le nom de la variable (query) si nécessaire.

Posté

Ok, j'ai compris le principe mais <a href="script_de_recherche.php?query='.urlencode($results->synonyme[0]).'"> ne me retourne pas mon synonyme mais "Array[0]", je ne comprends pas pourquoi. Any other idea?

Posté

comme on ne sait pas comment est créé $results->synonyme[0] on ne peut pas dire.

Visiblement tu dois utiliser des fonctions preg ou similaires qui vont te créer des array à plusieurs niveaux

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...