$req = "SELECT sum(Poids), ID_TEXTE FROM mot, texte WHERE Libelle LIKE \"%$mot_search[$i]%\" AND ID_TEXTE = ID GROUP BY ID_TEXTE";
ou
$req = "SELECT url, titre, sum(Poids), ID_TEXTE FROM mot, texte WHERE Libelle LIKE \"%$mot_search[$i]%\" AND ID_TEXTE = ID GROUP BY url, titre, ID_TEXTE";
manquait juste le sum() et group by porte forcément sur toutes les colonnes qui ne sont pas des fonctions, mais c’est bien la bonne solution
Merci beaucoup pour votre aide, mais le sum n’a pas résolu mon pti soucis!! ceci dit, j’ai quand même trouvé une autre solution :
while ($i<$nb_mot)
{
$pos = strpos($ChaineVide, $mot_search[$i]);
if(($pos === false) && (strlen($mot_search[$i])>2))
{
$req = "SELECT Poids, ID_TEXTE,url, titre FROM mot, texte WHERE Libelle LIKE \"%$mot_search[$i]%\" AND ID_TEXTE = ID ";
$sql = mysql_query($req);
$searchMot = mysql_fetch_array($sql);
while ($searchMot)
{
$poids = $searchMot["Poids"];
$idTexte = $searchMot["ID_TEXTE"];
if (isset($motcherche[$idTexte]))
{
$motcherche[$idTexte]+=$poids;
}
else
{
$motcherche[$idTexte]=$poids;
}
$searchMot = mysql_fetch_array($sql);
}
}
$i++;
}
arsort($motcherche);
foreach ($motcherche as $clef => $valeur)
{
$req="SELECT url, titre FROM texte WHERE ID = $clef";
$sql = mysql_query($req);
$resultat = mysql_fetch_array($sql);
$nrows = mysql_num_rows($sql);
$nb_resultat=0;
While ($resultat)
{
$url = $resultat["url"];
$titre = $resultat["titre"];
echo " <br><a href=\"$url\">$titre</a>";
$resultat = mysql_fetch_array($sql);
}
}
Voici la phase recherche de mon moteur de recherche!! je n’ai pas mis tout le code parce que bon, ça ma demandé bcp trop de reflexion, et puis il reste encore à le peaufiner, à en faire une bonne présentation quand même, mais voici le principale de la recherche!!!
J’avoue, ce n’est peut être pas évident à comprendre!!! en tout cas, voilà que mon projet est bientôt fini, et je tenais à remercier tous ceux qui m’ont aidé!!!!