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

Langage SQL Discussion :

Rechercher dans tous les mots d'une table


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut Rechercher dans tous les mots d'une table
    Bonsoir !

    J'aurais besoin d'aide pour une fonction de recherche ! Voici actuellement mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function rechercher_tests() {
    if (isset($_POST['rechercher']))
    {
    $reponse = mysql_query("SELECT * FROM testsv2 WHERE titre like '%".filtrer($_POST['recherche_jeux'])."%' ORDER BY titre");
    while ($donnees = mysql_fetch_array($reponse) ) {
    echo '<a href="tests.php?article='.$donnees['article'].'" >'.$donnees['titre'].'<br />'; 
                          }
    }
    return;}
    Comme vous pouvez le constater, je ne cherche que dans un champ précis (titre), or ce que je souhaite c'est que le mot cherché dans le formulaire serve aussi dans les autres champs, comme par exemple quelqu'un qui veut rechercher un développeur, il tape au hasard Insomniac et donc le jeu qui est développé par Insomniac Games s'affiche... Et si un jeu s'appelle Insomniac, ben qu'il apparaisse aussi, bref j'aimerais éviter une recherche trop centrée.

    Comment modifier ce code ?

    Merci !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 802
    Points
    30 802
    Par défaut
    Il y a deux manières de résoudre ton problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT	* 
    FROM 	testsv2 
    WHERE 	titre LIKE '%' || :recherche_jeux || '%'
    	OR	developpeur LIKE '%' || :recherche_jeux || '%'
    	OR	...
    ORDER BY titre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT	* 
    FROM 	testsv2 
    WHERE 	titre || '§' || developpeur || '§' || ... LIKE '%' || :recherche_jeux || '%'
    ORDER BY titre
    A toi de tester laquelle est la plus efficace.
    Dans les deux cas, comme tu recherches une sous-chaine au milieu d'une colonne, aucun index ne sera utilisé par ton SGBD pour optimiser la recherche.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    Ca marche ! Merci de ton aide !

    PS : Je n'ai réussi à faire marcher que ta première méthode :p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Recherche dans tous les champs d'une table
    Par AnneLiseA dans le forum Access
    Réponses: 6
    Dernier message: 06/07/2015, 10h54
  2. Réponses: 4
    Dernier message: 27/07/2009, 12h15
  3. Requete avec un seul mot recherché dans tous les champs
    Par ju0123456789 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/05/2009, 14h42
  4. COmment faire une recherche dans tous les dossiers
    Par Djohn dans le forum Outlook
    Réponses: 2
    Dernier message: 28/06/2007, 19h27
  5. Réponses: 2
    Dernier message: 07/03/2006, 15h27

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