ouinez
Messages postés2Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention18 juin 2007
-
18 juin 2007 à 00:14
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 2012
-
18 juin 2007 à 09:48
ines la debutante:
SVP aidez moi j'ai fais mon premier pgm en php.un moteur ki recherche dans une FAQ (foieraux questions)ou l'utilisateur doit saisir des mots clés .
l'erreur est que quand il y'a deux mots clés apartenant a la méme question la question s'affiche deux fois et si il ya trois mots cles de la meme question elle va s'afficher 3fois
donc je penses qu'il faut créer un tableau ou on met tout les resultat apres on affiche pas les repetition .
SVP votre aide m'ai precieuse jattends des reponses le plus vite possible
require ("params.php");
mysql_connect ($host,$user,$password) or die ("erreur de connexion");
mysql_select_db ($base) or die("erreur");
$test=0;
$dico = $_POST['tab'];
$tabs =explode(" ",$dico);
$combien=count($tabs);
for ($i=0; $i<$combien;$i++)
{
$tabz=$tabs[$i];
$res1=mysql_query("select DISTINCT RefQuestion from motcles where intitulemotcles like '$tabz' ");
if($ligne1=mysql_fetch_row($res1)){
$test=1;
$refq=$ligne1[0];
$res2=mysql_query("select distinct * from questionreponse where RefQuestion like '$refq'");
$ligne2=mysql_fetch_row($res2);
$question=$ligne2[1];
echo" <G>$question
</g>";
}
}
if ($test==0) { echo " Désole ,pas de resultats pour votre recherche.Veuillez entrer des motsclés SVP
";}
?>
ps: et si vous connaissez une astuce comme afficher les mots clés en rouge dans le reslutat ca sera trop beau
merciiiiiiiiiiiiiiiiiiiii d'avance
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 18 juin 2007 à 09:48
Hello,
effectivement tu fais un tableau, à chaque fois qu'une réponse sort, tu crées une case dont la clé est l'ID de la question, en valeur tu mets 1. Mais si la même réponse revient, tu ne crées pas une nouvelle case, tu incrémentes juste la valeur de la case corrsepondante (-> 2). Comme ça tu pourras trier par valeurs, les cases qui auront les plus gdes valeurs signifieront que la réponse correspondante contient le + de fois le mot.