begin process at 2012 05 30 16:40:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

moteur de recherche/sql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

moteur de recherche/sql

vendredi 4 février 2005 à 13:46:38 | moteur de recherche/sql

magicjim

Bonjour, je cherche a faire un moteur de recherche qui me permetterai de cherchait dans ma table membres et d'afficher les resultats sur une est mm page :

par exemple je tape dans le moteur de recherche JIMMY,
et la il m'affiche tout les resultats sur la page

a savoir que j'ai plusieurs champs : nom, prenom, speudo, region

je voudrait que le moteur recherche dans ces quatres champs merci

Codialement jimmy
vendredi 4 février 2005 à 13:58:12 | Re : moteur de recherche/sql

malalam

Administrateur CodeS-SourceS
Salut,

pour les moteurs de recherche, on utilise generalement des expressions regulieres. Tu peux aller voir sur ce site :
http://www.expreg.com/

Puis reviens avec un debut de code pour qu'on t'aide :-)
Sinon il doit y avoir plein de scripts pour ca sur ce site.

vendredi 4 février 2005 à 14:44:09 | Re : moteur de recherche/sql

nico1214

 Je suis pas sûr qu'il va te tomber tout cuit dans la bouche ton moteur de recherche...


Sinon oui le plus dur c'est pas la BDD mais la gestion des mots entrés et pour ce faire, comme l'a très justement remarqué malalam, il faut utiliser les expressions régulières.



Bon courage
vendredi 4 février 2005 à 16:43:03 | Re : moteur de recherche/sql

magicjim

je me doute bien qu'il ne va pas me tomber tout cru dans le bec lol,
j'y travaille en ce moment pour essayer dit arriver, j'aurai juste bien voulu un exemple concret pour pouvoir réaliser le mien et a mon gout,
J'ai déja mon formulaire de près :
<form method="post" action="resultat.php"><br>
<font size="2"><strong>Recherche :</strong></font> 
<input type="text" name="recherche" size="15"><br>
<input name="image" type="image" src="design/ok.gif" width="23" height="19" border="0" ></form>
maintenant je travaille sur le résultat :
<?php
    // Parametres de connexion à la base de données
include "includes/functions.inc.php";
    @mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
        or die("Impossible de se connecter au serveur de bases de données.");
    @mysql_select_db($BD_base)
        or die("Impossible de se connecter à la base de données.");
// la requette
$sql = "SELECT pseudo,nom,prenom,region FROM table_membres WHERE pseudo AND nom AND prenom AND region  LIKE '%$recherche%'";
$result = mysql_query($sql);
while($data = mysql_fetch_array($result))
{
echo "$data['pseudo']<br>";
echo "$data['nom']<br>";
echo "$data['prenom']<br>";
echo "$data['region']<br>";
}
}
?>
voila je cherche encore

vendredi 4 février 2005 à 17:19:45 | Re : moteur de recherche/sql

malalam

Administrateur CodeS-SourceS
re,

ben il faut vraiment que tu traites la valeur saisie dans ton formulaire avec des expressions regulieres si tu veux un moteur un minimum performant. Cela va te permettre par exemple, si quelqu'un tape "Robart", de trouver "Robert", avec un peu de chance ;-)

La tu commances doucement, mais surement, je pense que tu es sur la bonne voie.

Je n'ai pas d'exemple sous la main desole, mais ca doit se trouver sur ce site je pense.
vendredi 4 février 2005 à 17:25:49 | Re : moteur de recherche/sql

magicjim

merci c sympa je cherche , je vais finir pas y arriver apres je le perfectionnerai avec les expression...
vendredi 4 février 2005 à 17:28:13 | Re : moteur de recherche/sql

nico1214

Ben déjà les champs "Nom" "Prénom" "Région" ne peuvent tous être égaux à $recherche.


Il faut mettre OR à la place des AND dans ta requête.


Ensuite, tu peux par exemple supprimer les mots inférieurs à trois lettres du champ de recherche (imagine : quelqu'un tape une seule lettre, le "e" par exemple, le nombre de résultats que tu vas avoir !!!)



Tu dois gérer aussi les majuscules/minuscules...



Etc...
vendredi 4 février 2005 à 19:06:27 | Re : moteur de recherche/sql

Anthomicro

Salut,

heu pourquoi les expressions régulières ? les indexs fulltext en mysql sont très performants aussi.

Bon perso voilà une partie du code du moteur de recherche de mon site :

if (isset($_POST['recherche']))
{
        $recherche=trim(addslashes($_POST['recherche']));
        //$recherche=htmlspecialchars($recherche);
       
        $requete_finale='';
        $tab_requete=array();

         $tab_requete[0][0]='SELECT titre,url,MATCH(texte) AGAINST(\''.$recherche.'\') AS pertinence FROM article WHERE MATCH(texte) AGAINST(\''.$recherche.'\'';
         $tab_requete[0][1]='titre,url';

        $nb2=count($tab_requete);
        //-------------------------------------------------------
        //SI COUNT() EST EGAL A UN IL NE FAUT PAS LE DECREMENTER
        //-------------------------------------------------------
        if($nb2-1==0)
        {
            $nb=1;
        }
        else
        {
            $nb=$nb2-1;
        }

        //--------------------------------------------------------
        //ACTIVE LES OPERATEURS BOOLEENS
       //$_POST['bool'] est la valeur (à ON si cochée) d'une checkbox pour activer les opérateurs booléens
        //--------------------------------------------------------
        if(isset($_POST['bool']) AND $_POST['bool']=='ON')
        {
            for($i=0;$i<$nb2;$i++)
            {
                $tab_requete[$i][0].=' IN BOOLEAN MODE) ORDER BY pertinence DESC';
            }
        }
       //$_POST['limite'] correspond au nombre de résultats à retourner
        if(is_numeric($_POST['limite']))
        {
            for($i=0;$i<$nb2;$i++)
            {
                $tab_requete[$i][0].=' LIMIT '.$_POST['limite'];
            }
        }
        $mysql->connect('');
        for($i=0;$i<$nb2;$i++)
        {
            $requete=$tab_requete[$i][0];
            $mysql->requete($requete,$i);
        }
        $mysql->deconnect();
        //----------------------------------------------------------
        //TRAITE LES DONNEES ET AFFICHE LES RESULTATS
        //----------------------------------------------------------
        for($i=0;$i<$nb2;$i++)
        {
            //SEPARE LES CHAMPS A GARDER DE LA REQUETE
            $champs_a_garder=$tab_requete[$i][1];
            $tab_champs=explode(',',$champs_a_garder);

            //AFFICHAGE DES RESULTATS DES ARTICLES
            if($tab_champs[0]=='titre' AND $tab_champs[1]=='url')
            {
              echo '<p class="bleu"><b>Articles :</b></p><ul>';
                while($r=$mysql->fetch_array($i))
                {
                   echo '<li><a href="',$r['url'],'.php">',stripslashes($r['titre']),'</a></li>';
                }
               echo '</ul>';
            }
        }
    }

après il faut l'adapter pour les différents champs de ta base de données.

a +


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
samedi 5 février 2005 à 10:35:56 | Re : moteur de recherche/sql

malalam

Administrateur CodeS-SourceS
Oui oui, je dis pas que les index fulltext de mysql ne sont pas performants. Disons juste que les regexp permettent un grand controle sur les donnees entrees par l'utilisateur. Mais effectivement, c'est tres faisable en utilisant uniquement du sql, comme pour ton moteur.
samedi 5 février 2005 à 16:43:11 | Re : moteur de recherche/sql

magicjim

merci pour vos reponses je continue a chercher tout cela va surment me faire avancer un peu plus vite encore merci a tous.@++

1 2

Cette discussion est classée dans : sql, recherche, moteur, resultats, jimmy


Répondre à ce message

Sujets en rapport avec ce message

aide moteur de rechrche php sql [ par zizou94 ] Bonjour a tous, J'essaie depuis un semaine d inserer un moteur de recherche si mon site et je n y arrive pas. Etant novice en programmation je ne m en j'aimerai faire un moteur de recherche multicritere qui recherche sur une base sql [ par guigui2mars ] Bonjour voila ca fais un moment que j'essaye de faire un moteur de recherche sql mais je n'y arrive pas j'ai essayer d'en modifier un mais cela ne mar Moteur recherche SQL php [ par fregeal ] Bonjour Je cherche un moyen d'avoir un champs de recherche sql qui affiche les resultats sous forme d'un tableau mais tous les scritps que j'ai pus t Moteur de recherche de villes à proximité [ par Arno911 ] Bonjour à tous, Je crée un site où il y a une liste de membres et je souhaiterais mettre en place un petit moteur de recherche pour trouver un membre Probleme script moteur de recherche [ par McGyver59 ] Bonjour Sur le web j'ai trouvé un moteur de recherche interne pour mon site il fonctionne trés bien mais j'ai un soucis avec. Meme si je ne met rien simple moteur de recherche [ par rota90 ] bonjour, je suiis entrain de developper un petit moteur de recherche qui suivant un mot clé affiche des information mais la requéte ne fonctionne pas difficulté pour etablier un moteur de recherche [ par msi079 ] salut a tous je viens de faire un petit moteur de recherche qui marche bien . a partir donc du numéro du courrier on arrive a avoir les information su moteur de recherche bilingue [ par webfattah ] bonjour à tous, je suis en train de développer un site dans deux langue arabe et français. le site comprend un moteur de recherche. pour la version f Moteur de recherche : afficher des suggestions [ par BenamourJr ] Bonjour, Je suis en train de plancher sur le développement du moteur de recherche de mon site. J'aurais aimé pouvoir afficher des suggestions de rech


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,232 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales