Moteur de recherche mysql php

glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   -  
glodybiss Messages postés 440 Date d'inscription   Statut Membre Dernière intervention   -
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;
}
?>



A voir également:

1 réponse

Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   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 440 Date d'inscription   Statut Membre Dernière intervention   9
 
Où dois-je ajouter cela ?
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   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 440 Date d'inscription   Statut Membre Dernière intervention   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