Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1262 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  recherche SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recherche SQL

n°1363408
$man
Posté le 10-05-2006 à 15:16:45  profilanswer
 

Salut,
 
une question que je me pose. Imaginons que j'ai ca dans ma base :

Code :
  1. azerty
  2. totoland
  3. coconuts
  4. avare
  5. ...


 
Je veux afficher tous les mots commencant par 'a'. Est-ce optimisé de faire un :

Code :
  1. SELECT monChamps FROM maTable WHERE monChamps LIKE 'a%'


 
N'y a t-il pas une solution moins gourmande (:D) ?
 
Autre question, est-il judicieux de faire un :
 

Code :
  1. mysql_query("INSERT INTO maTable VALUES ('".htmlentities("monChamps" )."')"


 
En effet, pour une recherche si mon champs contient des accents, cela va être ennuyeux, non ?
Notamment si on veut sortir "pépé" en tappant "pepe".
 
Merci  :hello:


Message édité par $man le 10-05-2006 à 15:44:21
mood
Publicité
Posté le 10-05-2006 à 15:16:45  profilanswer
 

n°1363634
moonboot
Posté le 10-05-2006 à 17:31:28  profilanswer
 

pour ta première question, je ne connais pas de manière plus efficace.
 
pour ta seconde question tout dépend du sgbd que tu utilises, c'est soit la création d'une fonction dédiée soit l'utilisation d'une fonction déjà intégrée au sgbd comme TRANSLATE pour Oracle.

n°1363680
$man
Posté le 10-05-2006 à 18:17:10  profilanswer
 

Pour la question 1, merci, pour la seconde Mysql (mysql_query :D)
 
Merci :hello:


Message édité par $man le 10-05-2006 à 18:17:20
n°1363980
$man
Posté le 11-05-2006 à 09:59:39  profilanswer
 

Personne pour la question 2 à 3k€ Jean-Pierre ?
:hello:

n°1364242
cinocks
Posté le 11-05-2006 à 14:56:33  profilanswer
 

pour la question 1, tu mets un index fulltext qui sera certainement plus efficace qu'un like sur le long terme. Et selon ton besoin et volumetrie, il faudra sans doute passer à plus serieux comme methode.
Et pour le stockage des mots, perso je vire les accents pour les recherches. Mais dans ton cas, ca t'oblige à avoir un champ avec le mot d'origine et un second avec le preparé pour la recherche.


---------------
MZP est de retour
n°1364366
$man
Posté le 11-05-2006 à 16:13:03  profilanswer
 

Merci, mes champs sont déjà en fulltext (match et against inside).
Donc je suis obligé de rentré mes mots tels quels dans la BDD.

Code :
  1. pépé

et non pas

Code :
  1. pépé


Message édité par $man le 11-05-2006 à 16:13:28
n°1364462
cinocks
Posté le 11-05-2006 à 17:13:51  profilanswer
 

on ne mets pas de htmlentities dans la base. Tu transformes à la volée pour l'affichage mais pas avant.


---------------
MZP est de retour
n°1364550
$man
Posté le 11-05-2006 à 18:48:43  profilanswer
 

Salut,  
 
je pensais, beaucoup font ca (ce qui ne veut pas dire que c'est bien :o)
 
:hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  recherche SQL

 

Sujets relatifs
[SQL - postgreSQL] Recherche sur des dates[PHP - SQL] Recherche dans un catalogue via thème ou mot-clé
[URGENT Erreur SQL] Moteur de recherche PHP/SQL via formulaire HTMLproblème SQL moteur de recherche
[access/SQL]recherche multi-tableRecherche personne ki a fait marcher Pervasive SQL et php sous Linux
[VB]Afficher une recherche SQL dans une ListViewrecherche moteur de recherche pour sql
Recherche programmeur php/sql - UrgentRecherche dans une base sql ?
Plus de sujets relatifs à : recherche SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR