8
Indiquez l’intérêt que vous portez à cette question
0

critère annee IN list

Bonjour,

J’ai écrit un petit squelette de tri assez simple permettant de sélectionner les articles en fonction des dates (années uniquement) et des mots clé choisis.

Deux tableaux "mots" et "annees" contenant la sélection sont récupérées depuis l’URL avec la boucle suivante :

... qui ne fonctionne pas.
Je n’ai pas de message d’erreur, mais la boucle n’affiche rien.
Sur la page de debug, la requête SQL est celle-ci (pour le seul critère "annee" :

SELECT articles.date, articles.id_article, articles.lang, articles.titre
FROM spip_articles AS 'articles'
WHERE (articles.statut = 'publie')
	AND ((YEAR(articles.date)  IN (2019,2020)))
	AND (articles.id_rubrique > "0")
ORDER BY articles.date DESC

Ce que je ne comprends pas, c’est que le critère "id_mot" pris isolément fonctionne parfaitement, mais pas le critère "annee".

ne fonctionne pas mieux mais

fonctionne lorsqu’une seule valeur est retournée.

J’ai tenté de mettre la boucle en inclure comme conseillé (ce qui m’a déjà sauvé d’une situation que je ne comprenait pas), mais rien à faire. Et sans message d’erreur, difficile de comprendre d’où vient le problème...!

Je rate quelque chose sur les propriétés de "annee" incompatibles avec IN ? Si oui, comment faire pour afficher les articles en fonction d’une liste d’années ?

(j’ai recherché une solution sur le forum, mais sans succès, dsl si ceci a déjà été abordé)