Aide erreur script : moteur de recherche

Répondre
jackbocar
le 15/09/2005 à 09:45
jackbocar
Bonjour,

Un petit coup de main serait appréciable.

J'ai bricolé un script des "NEWS", pour créer un moteur de recherche, mais j'ai une erreur que je n'arrive pas à régler :

Notice: Undefined index: mots_clefs in j:\easyphp1-8\www\moteur\test_recherches.php on line 24

Vous pouvez corriger le script cela m'aiderai pour son bon fonctionnement

Merci de votre aide

Jack Bocar


<?php
include ('./includes/config.php');

$nb_affichage_par_page = 6;
$sql = 'SELECT count(*) FROM recherches';
$resultat = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$enr = mysql_fetch_array($resultat);

if (($nbtotal = $enr[0]) == 0) {
echo '<center><table width="70%" border="0" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td align="left" width="10%">';
echo '<span class=""><b>Pas de résultat pour les Mots recherchés.</b></span>';
echo '</td>';
echo '</tr>';
echo '</table></center>';

}
else {
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$sql = 'SELECT id, url, mots_cles, description FROM recherches ORDER BY mots_cles LIKE "%'.$_GET["mots_clefs"].'%" DESC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
$resultat = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nbenr = mysql_num_rows($resultat);


if ($nbenr == 0) {
echo '<center><table width="70%" border="0" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td align="left" width="600">';
echo '<span class=""><b>Pas de résultat pour les Mots recherchés.</b></span>';
echo '</td>';
echo '</tr>';
echo '</table></center>';

}
else {
while ($enr = mysql_fetch_array($resultat)) {
$url=$enr['url'];
$mots_cles=$enr['mots_cles'];
$description=$enr['description'];
$mots_cles_id=$enr['id'];


echo '<center><table width="70%" border="0" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td width="10%" align="left" valign="bottom">&nbsp;</td>';
echo '<td align="left" valign="bottom">'.($url).'</td>';
echo '<td width="50" align="left" valign="bottom">&nbsp;</td>';
echo '</tr>';
echo '<tr>';
echo '<td width="10%" align="left" valign="top">&nbsp;</td>';
echo '<td align="left" valign="top"><a href="'.($url).'">'.($mots_cles).'</a></td>';
echo '<td width="10%" align="right" valign="top">&nbsp;</td>';
echo '</tr>';
echo '</table></center>';
echo '';
echo '<center><table width="70%" border="0" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td align="left" width="30%">';
echo '<span class="">'.($description).'</span>';
echo '</td>';
echo '</tr>';
echo '</table></center>';

}
}
}

?>
LA GLOBULE
le 15/09/2005 à 10:56
LA GLOBULE
Alors, l'erreur vient du fait que la clé 'mots_clefs' n'existe pas dans ton tableau $_GET (vérifies l'orthographe).

Ensuite, si tu fais des LIKE pour faire un moteur de recherche, ton hébergeur va très vite gueuler.
Utilise des index fulltext.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours