Moteur de recherche mysql php

glodybiss Messages postés 509 Statut Membre -  
glodybiss Messages postés 509 Statut Membre -
Bonjour,

Je viens de modifier quelque source que j'ai télécharger pour un moteur de recherche
mais à chaque fois que je lance une recherche aucun résultat n'apparaît et il n'y a pas d'erreur mais il me renvois toujours qu'aucun résultat trouvé alors je me dis qu'il y a certainement un souci dans ma requête sql mais je ne me retrouve pas si vous pouvez jété un oeil et m'aider s'il vous plait.

Merci !


Voici le code

CHAMP DE RECHERCHE

<!--debut du formulaire-->
<form class="ajax" action="search.php" method="get">
	<p>
		<label for="name_search">Rechercher un article</label>
		<input type="text" name="name_search" id="name_search" />
		<input type="submit" name="search" value="search">
	</p>
</form>
<!--fin du formulaire-->
 
<!--preparation de l'affichage des resultats-->
<div id="results"></div>


CODE PHP

<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'cybernet'; 
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error());
mysql_select_db($db) or die ('Erreur :'.mysql_error()); 
 
//recherche des résultats dans la base de données
$result =   mysql_query( 'SELECT prenom
                          FROM agent
                          WHERE nom = \'publish\'
                          AND nom LIKE \'' . safe( $_GET['name_search'] ) . '%\'
                          LIMIT 0,20' );
 
// affichage d'un message "pas de résultats"
if( mysql_num_rows( $result ) == 0 )
{
?>
    <h3 style="text-align:center; margin:10px 0;">Pas de résultats pour cette recherche</h3>
<?php
}
else
{
    // parcours et affichage des résultats
    while( $post = mysql_fetch_object( $result ))
    {
    ?>
        <div class="article-result">
            <h3><a href="<?php echo $post->guid; ?>"><?php echo utf8_encode( $post->nom ); ?></a></h3>
            <p class="date"><?php echo $post->nom; ?></p>
            <p class="url"><?php echo $post->guid; ?></p>
        </div>
    <?php
    }
}
 
/*****
fonctions
*****/
function safe($var)
{
	$var = mysql_real_escape_string($var);
	$var = addcslashes($var, '%_');
	$var = trim($var);
	$var = htmlspecialchars($var);
	return $var;
}
?>



1 réponse

Mihawk Messages postés 4753 Statut Contributeur 846
 
Hello,

D'après ta requête il faut absolument que le nom commence par le mot insérer dans le champ de recherche. Sinon il faut ajouter un % au début également.

0
glodybiss Messages postés 509 Statut Membre 9
 
Où dois-je ajouter cela ?
0
Mihawk Messages postés 4753 Statut Contributeur 846
 
$result = mysql_query( 'SELECT prenom
FROM agent
WHERE nom = \'publish\'
AND nom LIKE \'%' . safe( $_GET['name_search'] ) . '%\'
LIMIT 0,20' );
0
glodybiss Messages postés 509 Statut Membre 9
 
ça y est j'ai trouvé j'ai modifier cette ligne le résultat s'affiche maintenant :
$result =   mysql_query( 'SELECT nom FROM agent WHERE nom LIKE \'' . safe( $_GET['name_search'] ) . '%\'
0