[SQL] Recherche dans une base de données

Magesticx
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 5
Inscription: 26 Mai 2011

[SQL] Recherche dans une base de données

Message le Mar Juin 07, 2011 12:07

Bonjour !
Depuis ce matin je me creuse le cerveau sur le création d'un moteur de recherche pour un site que je développe.

En faite, j'ai 2 tables dans ma BDD, une qui contiens la liste des utilisateurs et une qui contiens une liste de réservations faite par les utilisateurs en question.

Utilisateur
Image

Reservation
Image

L’opération maintenant, consiste à pouvoir faire une recherche ( avec un nom, prenom, ou une date ) afin de pouvoir savoir qui a reserver à tél ou tél date.

Pour cela j'ai fait la requête :

SELECT DISTINCT *
FROM utilisateur u, reservation r
WHERE u.login = r.login_reservation
AND r.date LIKE '$search'
OR u.login LIKE '%$search%'
ORDER BY r.id_reservation DESC
LIMIT 0 , 60

Quand je remplace $search par une date ( par exemple 07-06-2011 ) j’obtiens bien la liste des utilisateurs ayant réserver le jour choisis, mais quand je remplace $search par un prénom ( ici maxence) le résultat deviens incompréhensible puisque il mélange totalement les deux tables !

Or ma jointure dit bien : WHERE u.login = r.login_reservation

Image

Pourquoi mes deux colonnes ne sont donc pas identiques ?

Je suis dessus depuis se matin, et je trouve aucune réponse ! Si quelqu'un à une piste, ou même une idée je suis preneur !!


Marie-Aude
Modérateur
Modérateur
 
Messages: 11893
Inscription: 5 Juin 2006

Re: [SQL] Recherche dans une base de données

Message le Mar Juin 07, 2011 12:12

left join serait plus adapté

wattie
WRInaute discret
WRInaute discret
 
Messages: 79
Inscription: 9 Sep 2008

Re: [SQL] Recherche dans une base de données

Message le Mar Juin 07, 2011 14:43

Bonjour,
Et en essayant

Magesticx a écrit:
SELECT DISTINCT *
FROM utilisateur u, reservation r
WHERE u.login = r.login_reservation
AND ( r.date LIKE '$search'
OR u.login LIKE '%$search%' )
ORDER BY r.id_reservation DESC
LIMIT 0 , 60



est-ce que ca se rapproche de ce que tu souhaites ?

ps : +1 pour le left join


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Base

  • Test de positionnement sur data centers
    Cet outil vous permet d'afficher sur une seule page les résultats Google effectués sur de nombreux data centers (centres de données).
  • Suggestion de mots-clés Google
    Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.
  • Analyser le positionnement d'un site
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité