IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

rechercher dans une base firebird


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut rechercher dans une base firebird
    Bonjour,

    J'essaie de lancer une recherche dans une base firebird. Le paramètre de recherche est fourni depuis un formulaire html. Le but est de sortir toutes les entrées dans une table
    répondant aux critères de recherche.

    Table personne : champ NOM, champ PRENOM

    Lorsque la personne saisie, elle peut aussi commencer par saisir le nom comme elle peut commencer la saisie par le prénom. Pour le moment la requête que j'utilise est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $result = $ibase->query("SELECT PRENOM,NOM FROM PERSONNES WHERE
    		NOM LIKE UPPER('$search%') OR
    		NOM LIKE LOWER('$search%') OR
    		PRENOM LIKE UPPER('$search%') OR
    		PRENOM LIKE LOWER('$search%')
    		ORDER BY PRENOM
    	");
    Lors de la saisie une div est rafraichie automatiquement (par de l'ajax) affichant les résultats. Le hic c'est que les résultats ne sont pas équivalent à la chaine saisie.

    Exemple :
    2 patients : Eric TOTO et Erco TATA

    Si la personne saisi 'e', la liste apparait correctement. Si elle continue en saisissant le r (donc 'er'), je n'ai plus qu'un seul résultat au lieu de 2.

    Je n'arrive pas à comprendre comment faire ma requête. Pouvez-vous m'aiguiller svp ?

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    pourquoi ces UPPER et LOWER ?
    c'es complètement contre productif

    il suffit de prendre un ordre de tri insensible à la casse

  3. #3
    Membre éclairé
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Par défaut
    tout simplement pcq lorsque je rend insensible à la casse, tout est bien pris en compte SAUF les noms et prénoms qui ont des lettres MAJUSCULE accentués !!!!

    Or avec le UPPER et LOWER, ça à l'air de mieux fonctionner :-|

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    quel jeu de caractère pour les champs quel ordre de tri ?

    au passage de toutes façon ton code ne peux effectivement pas fonctionner
    si PRENOM = 'Eric'
    si tout utilisateur entre 'er' tu fais actuellement : 'Eric' LIKE 'ER%' or 'Eric' LIKE 'er%'

    donc au pire il faudrait écrire
    UPPER(PRENOM) LIKE UPPER ('$search%')

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Citation Envoyé par zerros Voir le message
    tout simplement pcq lorsque je rend insensible à la casse, tout est bien pris en compte SAUF les noms et prénoms qui ont des lettres MAJUSCULE accentués !!!!
    certes, mais dans ce cas c'est insensible aux accents qu'il te faut aussi

    en bon français, contrairement aux mauvaise habitudes informatiques françaises UPPER(é) = É

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Citation Envoyé par makowski Voir le message
    certes, mais dans ce cas c'est insensible aux accents qu'il te faut aussi

    en bon français, contrairement aux mauvaise habitudes informatiques françaises UPPER(é) = É
    mais ISO8859_1 FR_FR respecte cette mauvaise habitude
    cf
    http://pmakowski.ibphoenix.fr/post/2...res-accentuees

Discussions similaires

  1. problème de recherche dans une base de donnée mysql
    Par Xini28 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/10/2005, 18h00
  2. [SGBD] problème de recherche dans une base de donnée mysql
    Par Xini28 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 23/10/2005, 23h06
  3. Recherche dans une base de donnée
    Par genova dans le forum SQLite
    Réponses: 8
    Dernier message: 28/09/2005, 23h16
  4. problème de recherche dans une base de données
    Par bouzid_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 06h47
  5. recherche dans une base de donnée+boucle
    Par eric205 dans le forum Bases de données
    Réponses: 8
    Dernier message: 15/03/2005, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo