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

PHP & Base de données Discussion :

moteur de recherche sur plusieur table php mysql


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    technicien culinaire
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : technicien culinaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut moteur de recherche sur plusieur table php mysql
    Bonjour,
    Je vous explique mon problème.
    je suis entrain de faire un petit moteur de recherche pour mon site ou j'ai deux tables "recette & balade", toutes les deux ont un champ en commun qui ce nome "motclef".
    mon problème est que j'arrive a chercher et à trouver les résultats mais que sur une table, je voudrai le faire sur les deux.

    je vous montre le code de recherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    $req = "SELECT titre, id, motclef, description FROM recette WHERE ";
    if($type==1)
    {
            $mots = explode(' ',$rec);
            foreach($mots as $mot)
            {
                    $req .= ' motclef LIKE "%'.$mot.'%" OR';
            }
            $req .= ' 1=0';
    }
    elseif($type==2)
    {
            $mots = explode(' ',$rec);
            foreach($mots as $mot)
            {
                    $req .= ' motclef LIKE "%'.$mot.'%" AND';
            }
            $req .= ' 1=1';
    }
    else
    {
            $req .= 'motclef LIKE "%'.$rec.'%"';
    }
     
     
    $req .= ' order by id asc';
    $requete = mysql_query($req);
    donc quand jessaye de faire ceci FROM recette, balade WHERE ... ça ne fonctionne pas et bien-sur un beau petit message d'erreur cela va de soit ( Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given )

    pourriez vous svp éclairer ma lanterne pour m'aider a finir ce moteur de recherche. Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Avec une UNION entre les deux tables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    if($type==1)
    {
            $where = '%"' . implode('%" OR "%',$rec) . '"%';
    }
    elseif($type==2)
    {
           $where = '%"' . implode('%" AND "%',$rec) . '"%';
    }
    else
    {
            $where = 'motclef LIKE "%'.$rec.'%"';
    }
     
    $req = "SELECT titre, id, motclef, description FROM recette WHERE "  .$where . " UNION " . "SELECT titre, id, motclef, description FROM ballade WHERE "  .$where;
    $requete = mysql_query($req);
    Sur le fond si tes deux tables sont identiques, il te faudrait une seule table avec une colonne indiquant de quelle type est l'élement (ballade, recette, ou d'autres à venir).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    technicien culinaire
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : technicien culinaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci Sabotage.
    Mais mes tables ne sont pas du tout identique, il y a juste quelques champ pour la recherche qu'ils le sont.
    et je vais de ce pas tester UNION.
    encore merci.

Discussions similaires

  1. moteur de recherche sur plusieurs table liees
    Par oliv3400 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/02/2012, 12h30
  2. [MySQL] Moteur de recherche sur plusieurs tables
    Par lelectronique.com dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/01/2010, 14h12
  3. [MySQL] moteur de recherche sur plusieurs tables
    Par harlock59 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/04/2007, 15h23
  4. [MySQL] Moteur de recherche sur plusieurs pages
    Par DonKnacki dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 30/01/2007, 14h47
  5. [MySQL] Recherche sur plusieurs tables
    Par hubidev dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/03/2006, 10h42

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