Simple requete...

newby
Invité n'ayant pas de compte PHPfrance

16 févr. 2006, 17:57

Hello

j'ai une table catégorie (id_cat, nom_cat), une table document (id_doc, nom_doc) et une table de liason entre les deux car c'est une liaison nm.

Comment faire pour récupérer les document qui font partie de la catégorie 1 ET de la catégorie 2

J'ai essayé avec id_cat IN (1,2) mais ca fait un OU et pas un ET...

Merci et dsl si la question est simple ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

16 févr. 2006, 18:42

Curieux qu'un objet puisse faire partie de plusieurs catégories en même temps...
Mais pourquoi pas...

Quelle requête utilises-tu ?

scrat
Invité n'ayant pas de compte PHPfrance

16 févr. 2006, 18:58

Pas vraiment un document peut appartenir à plusieurs catégories, programmation et webdesign par exemple parcequ'il traite des deux sujets...
En fait c'est pour le moteur de recherche de document.
Il y a la liste des catégories et l'utilisateur peut choisir de rechercher les documents appartenant à l'une des catégories recherchée ou appartenant à toutes les catégories sélectionnées.

Je n'ai pas de requete justement je ne sais pas comment la faire ;)[/code]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 févr. 2006, 20:10

J'ai essayé avec id_cat IN (1,2) mais ca fait un OU et pas un ET...
et pourquoi pas tout simplement une requete du genre:

Code : Tout sélectionner

SELECT ... WHERE id_cat = 1 OR id_cat = 2
ou AND à la place du OR, suivant la demande

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

scrat
Invité n'ayant pas de compte PHPfrance

17 févr. 2006, 12:04

Ca ne marche pas avec un AND j'avais déjà essayé ;)

ViPHP
ViPHP | 656 Messages

17 févr. 2006, 13:36

J'ai pas vraiment compris la structure de ta base.
Où écrit tu à quelle catégorie appartient un document?

Sinon essay quelque chose comme ça :

Code : Tout sélectionner

SELECT c.id AS id, c.name AS name FROM m AS categorie, d AS documents WHERE ((d.section1=c.name) AND (d.section2=c.name))