2010-10-16 9 views
0

Je regarde probablement quelque chose de simple--Meilleur moyen d'interroger plusieurs 'catégories' PHP mysql?

Certaines des nouvelles ont 2 catégories vérifiées, et d'autres fois il a tous les 4 vérifier. Je sais que je peux faire OU '' OU '' OU '' OU '' - mais je pense qu'il y a un meilleur moyen.

La question: Comment est-ce que je pourrais demander ceci à la sortie: si l'histoire a la catégorie 10,13 ou 10,13,15 ou 10,13,15,16 ou 10,15 ou 10,13 ?? ('10' est la catégorie parente) - sans faire une requête comme ça ??

WHERE news.id = story.post_id AND news.category LIKE '10,13,15,16' 
+0

Votre schéma me laisse un peu perplexe. Peut-être que category est sa propre table ('categories') et vous pouvez utiliser une table de références croisées' categories_news'. Juste une suggestion. – webbiedave

Répondre

1

On pourrait dire:

AND new.category IN ('10,13', '10,13,15', '10,13,15,16', '10,15', '10,13') 

Ce qui est un peu plus propre que l'utilisation de nombreux OR « s.

+0

Merci. Je n'ai pas réalisé que vous pouvez interroger "IN" ha. – eberswine

0
WHERE news.id = story.post_id AND news.category in (10, 13, 15, 16) 
Questions connexes