Merci Marc d'avoir lu ma contribution.
Mais j'ai bien peur que ce soit plus délicat, en effet, j'avais peut etre
mal exprimé ma remarque,
J'avais naturellement deux boucles qui utilisent le critère doublons, mais
j'ai de plus en plus l'impression que le critère doublons provoque un
conflit avec les boucles syndic_articles ou peut être la gestion des dates.
Suivent les requêtes SQL, est ce que quelqu'un y comprend quelque chose ? :
Je veux afficher tous les articles syndiqués du jour sauf ceux du site 14.
<BOUCLE_select(SITES){id_syndic=14}>
<BOUCLE_exclure(SYNDIC_ARTICLES){id_syndic}{par date}{inverse}{doublons}>
</BOUCLE_exclure>
</BOUCLE_select>
<BOUCLE_jour_syndic(SYNDIC_ARTICLES){jour_relatif = 0}{par
date}{inverse}{doublons}{debut_jour,20}>
#TITRE
</BOUCLE_jour_syndic>
Le résultat :
<BOUCLE_exclure>
Erreur dans la requête envoyée à MySQL :
SELECT articles.*,syndic.nom_site AS nom_site,syndic.url_site AS url_site
FROM spip_syndic_articles AS articles,spip_syndic AS source,spip_syndic AS
syndic WHERE articles.id_syndic=source.id_syndic AND
articles.statut='publie' AND source.statut='publie' AND
articles.id_syndic_article NOT IN () AND source.id_syndic='14' AND
syndic.id_syndic=articles.id_syndic ORDER BY articles.date DESC
You have an error in your SQL syntax near ') AND source.id_syndic='14' AND
syndic.id_syndic=articles.id_syndic ORDER BY art' at line 1
</BOUCLE_exclure>
<BOUCLE_jour_syndic>
Erreur dans la requête envoyée à MySQL :
SELECT articles.*,syndic.nom_site AS nom_site,syndic.url_site AS url_site
FROM spip_syndic_articles AS articles,spip_syndic AS source,spip_syndic AS
syndic WHERE articles.id_syndic=source.id_syndic AND
articles.statut='publie' AND source.statut='publie' AND
articles.id_syndic_article NOT IN () AND LEAST(TO_DAYS('2003-10-01
15:09:20')-TO_DAYS(articles.date), DAYOFMONTH('2003-10-01
15:09:20')-DAYOFMONTH(articles.date)+30.4368*(MONTH('2003-10-01
15:09:20')-MONTH(articles.date))+365.2422*(YEAR('2003-10-01
15:09:20')-YEAR(articles.date)))='0' AND syndic.id_syndic=articles.id_syndic
ORDER BY articles.date DESC LIMIT 0,20
You have an error in your SQL syntax near ') AND LEAST(TO_DAYS('2003-10-01
15:09:20')-TO_DAYS(articles.date), DAYOFMONTH('2' at line 1
</BOUCLE_jour_syndic>
"Marc Quinton" <marc.quinton@aviation-civile.gouv.fr> a écrit dans le
message de news:3F7A6E27.70304@aviation-civile.gouv.fr...
Vincent wrote:
> Avez vous déjà essayé le critère doublons dans une boucle du style :
>
>
<BOUCLE_semaine_syndic(SYNDIC_ARTICLES){age_relatif<=7}{age_relatif>0}{par
> date}{inverse}{debut_semaine,20}{doublons}>
> <li> <a href="#URL_ARTICLE">[(#TITRE*)]</a> [<a
> href="_kiosque.php3?id_syndic=#ID_SYNDIC">par (#NOM_SITE)</a> ]
> </BOUCLE_semaine_syndic>
>
> C'est un festival de requêtes sql incorrectes !!!
>
>
> Ai-je loupé quelque chose ?
>
> Note : ça marche très bien sans le {doublons}
j'avais lu dans la doc que doublons fonctionnait par 2 ;
<boucle1() ... {doublons}>
<boucle2(meme_type) {doublons}>
le premier critere doublon va enregistrer une liste, et la reporter
dans la seconde requete de la forme NOT IN (list)
et comme tu n'as pas la premiere boucle, ca ne passe pas. Peut-etre
est tu un utilisateur du mot clé 'DISTINCT' du langage SQL qui permet
aussi de supprimer les doublons, mais lors d'une requete simple. Il
se trouve que SPIP et les doublons ne fonctionnement pas avec ce mot
clé. D'ailleurs, les articles et rubriques possedent un identifiant
unique, et il ne doit pas etre nécessaire d'utiliser (en interne)
le mot clé DISTINCT (j'en vois tout de meme).
je pense que le critere doublons fonctionne de la meme maniere pour
les différent types SPIP (articles, rubriques, breves, syndic). Donc
ce doit etre ton probleme qui tend a etre confirmé par ton dernier
message.
----------------------------------------------------------------------------
----