william_dallas Posté 17 Octobre 2008 Posté 17 Octobre 2008 (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é 17 Octobre 2008 par william_dallas
TheRec Posté 17 Octobre 2008 Posté 17 Octobre 2008 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.
william_dallas Posté 17 Octobre 2008 Auteur Posté 17 Octobre 2008 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?
Leonick Posté 22 Octobre 2008 Posté 22 Octobre 2008 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant