Accueil > Forum > > > > moteur de recherche/sql
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
|
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
|
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
|
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.@++
|
|
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
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|