Version complète: sur le forum Webmaster Hub : Mnogosearch et php
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
nalrem
Bonjour,

J'ai installé mnogosearch et j'ai indexé mon site, pas de problème de ce côté là.
Quand j'utilise le frontend php fourni sur le site de mnogosearch, tout marche.
Mais j'ai un soucis pour faire fonctionner la recherche avec du php (j'ai recompilé php avec les bons paramètres pour pouvoir le faire) :
quelle que soit la requete faite, ça me renvoit toujours 0 résultat.

Alors si quelqu'un a implémenté un script sur son serveur, je veux bien voir à quoi ça ressemble smile.gif

J'ai récupéré un script trouvé en commentaire de la doc php :
CODE
$searchText = trim($_GET['rq']);
$mnogo = udm_alloc_agent("mysql://user:mdp.serveur/table/?dbmode=single");
$mResult = udm_find($mnogo,$searchText);
$totalMatches = udm_get_res_param ($mResult,UDM_PARAM_FOUND);
$pageSize = udm_get_res_param ($mResult,UDM_PARAM_NUM_ROWS);
$firstRow = udm_get_res_param ($mResult,UDM_PARAM_FIRST_DOC);
$lastRow = udm_get_res_param ($mResult,UDM_PARAM_LAST_DOC);
echo "Your search for <b>$searchText</b> resulted in <b>$totalMatches</b> matches";
echo "The result set (pagesize) is <b>$pageSize</b>\n";
echo "The first doc is row <b>$firstRow</b> and the last doc is <b>$lastRow</b>\n";
$row=0;
for ($i=$firstRow-1;$i<$lastRow;$i++) {
  $row++;
  echo "Match $row:";
  echo 'Url: ';
  $url = udm_get_res_field ($mResult,$i,UDM_FIELD_URL);
  echo "<a href=\"$url\">$url</a>";
  echo "\nTitle: <b>";
  echo udm_get_res_field ($mResult, $i,UDM_FIELD_TITLE);
  echo "</b>\nMeta Desc:";
  echo udm_get_res_field ($mResult, $i,UDM_FIELD_DESC);
  echo "\nPage Text: <b>\n";
  echo udm_get_res_field ($mResult, $i,UDM_FIELD_TEXT);
  echo "</b>\n<hr>\n";
}
udm_free_res($mResult);
udm_free_agent($mnogo);

Pour info, j'ai indexé la table en mode single aussi.

A bientôt,
nalrem
Dan
Salut Nalrem,

Lorsque tu as recompilé Php, as-tu mis le paramètre --with-mysql ou --with-mysql=/usr ?
Sur le site mnogosearch, ils précisent que c'est cette dernière forme qu'il faut utiliser.


Dan
destroyedlolo
CITATION(Dan @ mardi 05 avril 2005, 15h39)
Salut Nalrem,

Lorsque tu as recompilé Php, as-tu mis le paramètre --with-mysql ou --with-mysql=/usr ?
Sur le site mnogosearch, ils précisent que c'est cette dernière forme qu'il faut utiliser.
Dan
*

Hum, je pense que si c'etait un probleme, je ne pense pas que l'interface PHP fourni avec mnogosearch fonctionnerait huh.gif
nalrem
Oui, j'ai bien indiqué le répertoire où trouver Mysql.
Vraiment, j'ai du mal à comprendre ce qui se passe.
Anonymus
Bonjour,

si tu veux voir ce que ca donne quand ca marche, tu peux jeter un oeil ici : http://pingoin.com . Pour le script qui génère tout ca derrière, c'est celui fourni par mnogosearch. Qu'es ce qui ne marche pas, concrètement, chez toi ?
Si tu fais des tests, avec des pointeurs, lequel ne renvoie rien ?

Là, ca dit quoi ? :
echo "Your search for <b>$searchText</b> resulted in <b>$totalMatches</b> matches";
echo "The result set (pagesize) is <b>$pageSize</b>\n";
echo "The first doc is row <b>$firstRow</b> and the last doc is <b>$lastRow</b>\n";
nalrem
Le retour me donne :
"Your search for krinein resulted in 0 matchesThe result set (pagesize) is 0 The first doc is row 1 and the last doc is 0"

Pour voir ce qui se passe :
l'url de la page avec le script fourni : -http://www.krinein.com/recherche/search.php

Ma page de test : -http://www.krinein.com/search5.php?rq=krinein

edit : et la définition de l'adresse où trouver la base est la même dans les deux scripts.

Peut-être devrais-je me tourner vers la version cgi ?
Anonymus
Déjà, il y a un problème à ce niveau :
Your search for resulted

Alors que ca devrait marquer :
Your search for krinein resulted
Tu devrais te pencher à savoir pourquoi ton :
$searchText = trim($_GET['rq']);
ne renvoie rien ici :
echo "Your search for <b>$searchText</b> resulted

Nico.
nalrem
Sisi, regarde mieux mon retour, le mot cherché est bien affiché. C'est pour ça que j'ai du mal à savoir d'où cela peut provenir...
Anonymus
Commences comme ceci :

$searchText = trim($_GET['rq']);
$mnogo = udm_alloc_agent("mysql://user:mdp.serveur/table/?dbmode=single");

tu ajoutes à la suite :

echo "<br>Mnogo :".$mnogo;

Tu devrais peut etre avoir à la place :
$mnogo = udm_alloc_agent("mysql://user:mdp@/serveur/table/?dbmode=single");

( '@' et '/' devant serveur.. )

Nico.
nalrem
Modifier la ligne mysql ne change rien.
echo "<br>Mnogo :".$mnogo; me renvoit une valeur Ressource id #4
Donc a priori il y a du contenu dedans..
nalrem
En me penchant encore un peu plus sur la question... j'ai résolu mon soucis !
Pour faire simple : j'utilisais l'extension mnogosearch fournie par défaut avec php... Ce qu'il ne faut pas faire, il faut utiliser celle donnée sur le site de mnogosearch, puis tout recompiler.
Donc ça marche maintenant !
Merci à tous ceux qui ont essayé de trouver la source du problème !
Anonymus
CITATION
j'utilisais l'extension mnogosearch fournie par défaut avec php...

Laquelle est-ce ? Celle fournie avec la doc standard ?
nalrem
Oui, celle founie par défaut avec php 4.3.11.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.