Mini moteur en PHP
8 messages
• Page 1 sur 1
- amazigh25
- WRInaute passionné

- Messages: 1006
- Inscription: 4 Juin 2005
Mini moteur en PHP
Bonsoir,
Je vais essayer de vous expliquer mon problème.
J'ai une table dont la structure est la suivante :
Je voudrais créer un mini moteur de recherche, qui cherche dans toute la table ou bien dans certains champs.
Qu'es ce que vous me conseillez ?
Merci d'avance
Ps: J'ai pas mal fouillé sur wri mais j'ai pas bien compris comme ça marchait .
Je vais essayer de vous expliquer mon problème.
J'ai une table dont la structure est la suivante :
- Code: Tout sélectionner
CREATE TABLE `cartouches` (
`id` int(11) NOT NULL auto_increment,
`imprimante` varchar(255) NOT NULL default '',
`reference` varchar(255) NOT NULL default '',
`marque` varchar(255) NOT NULL default '',
`fournisseur` varchar(255) NOT NULL default '',
`urlfournisseur` varchar(255) NOT NULL default '',
`description` text NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 ;
Je voudrais créer un mini moteur de recherche, qui cherche dans toute la table ou bien dans certains champs.
Qu'es ce que vous me conseillez ?
Merci d'avance
Ps: J'ai pas mal fouillé sur wri mais j'ai pas bien compris comme ça marchait .
-

dmathieu - Modérateur

- Messages: 7245
- Inscription: 9 Jan 2004
- Code: Tout sélectionner
$sql = 'SELECT `id`
FROM `cartouches`
WHERE `imprimante` LIKE "%'.$q.'%"
OR `description` LIKE "%'.$q.'%";';
Comme cela par exemple.
Après, tu n'a plus qu'à adapter les champs selon tes choix.
- Zim'
- WRInaute impliqué

- Messages: 804
- Inscription: 27 Avr 2006
oui, pour l'affichage il suffit de mettre le résultat dans un tableau et de boucler sur chacun des éléments, comme pour une requete avec des "WHERE"s
toutefois, je te suggères quelques optimisation, tel que des champs enum quand cela est possible, est des champs char(x) quand tu connais assez précisément la taille de ton champ...
toutefois, je te suggères quelques optimisation, tel que des champs enum quand cela est possible, est des champs char(x) quand tu connais assez précisément la taille de ton champ...
-

spout - WRInaute accro

- Messages: 4108
- Inscription: 14 Mai 2003
Oui mais là c'est juste pour rechercher 1 seul mot clef.
Si tu veux une meilleure recherche, il te faut une recherche fulltext:
http://dev.mysql.com/doc/refman/5.0/en/ ... earch.html
Si tu veux une meilleure recherche, il te faut une recherche fulltext:
http://dev.mysql.com/doc/refman/5.0/en/ ... earch.html
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
laisse tomber les LIKE %qqchose%, en terme de performance tu risques d'avoir des soucis.
suis le conseil de spout et va faire un petit tour du côté des index fulltext.
va aussi faire un petit tour sur ce post :
http://www.webrankinfo.com/forums/viewtopic_41650.htm
suis le conseil de spout et va faire un petit tour du côté des index fulltext.
va aussi faire un petit tour sur ce post :
http://www.webrankinfo.com/forums/viewtopic_41650.htm
- amazigh25
- WRInaute passionné

- Messages: 1006
- Inscription: 4 Juin 2005
Bonjour
Merci pour vos réponses
Es ce possible de bien detailler ? que veux tu dire par char(x) ?
fulltext me fait un peu peur
surtout que ma table ne contiendra que peu de données . Y'a t'il un bon tutos pour savoir comment utiliser fulltext
Merci
Merci pour vos réponses
Zim' a écrit:toutefois, je te suggères quelques optimisation, tel que des champs enum quand cela est possible, est des champs char(x) quand tu connais assez précisément la taille de ton champ...
Es ce possible de bien detailler ? que veux tu dire par char(x) ?
fulltext me fait un peu peur
Merci
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
amazigh25 a écrit:fulltext me fait un peu peursurtout que ma table ne contiendra que peu de données . Y'a t'il un bon tutos pour savoir comment utiliser fulltext
![]()
Merci
Si FullText te fait peur, et que tu as peu de données, commence avec des requêtes de type LIKE si tu veux. Il faut juste être conscient des limites en terme de perf.
Pour optimiser tes LIKE :
1. Indexe les champs sur lesquels tu veux faire tes requêtes.
2. dans le mesure du possible évite le joker % en début de comparaison. Ce qui n'est pas vraiment évident en production.
Il n' a pas de raison d'avoir peur de FULLTEXT, va voir la doc, inspire toi des exemples, et ça devrait rouler tout seul. En terme de perf, cela reste la meilleure solution.
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Mini moteur de recherche
- Mini moteur de recherche pour mon site
- Creer un mini moteur de recherche dans son site
- Pour un mini-mini site d'Ecommerce : OpenCart ? Prestashop ? Joomla ? ??
- mini mini boutique ecommerce
- Développer un moteur de recherche en PHP.
- cherche un meta-moteur en php
- Php et référencement sur un moteur
- [RECHERCHE] Meta Moteur en PHP
- PHP/Mysql: moteur de recherche interne
- Les mini-sitelinks de Google - 02-04-2009
- Parts de marché des moteurs aux USA (Juin 2007) - 24-07-2007
- Les bonnes pratiques pour son site web : le memento - 22-02-2007
- Conférence sur le développement web (technologies Microsoft) - 09-05-2006
- Xinhua et China Mobile pour un nouveau moteur de recherche chinois - 17-08-2010
- Alexa lance un moteur de recherche d'images - 18-12-2006
- Suivre le Tour de France 2008 avec Google Street View - 03-07-2008
- La Google Deskbar API - 20-11-2004
Consultez la description détaillée des produits ou services de Google suivants : Google Mini
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
