Merci à tous pour vos messages et suggestions. Comme toujours, il y a plusieurs façons de résoudre un problème et l’aide de plusieurs personnes est appréciable.
Voici à l’heure actuelle:
concernant la balise #VAL : après quelques tentatives d’écritures variées j’obtiens toujours un message d’erreur dans le debug de SPIP, qui pourtant semble bien reporter la requête souhaitée :
__**Erreur SQL 1064**__ **You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‹ › at line 3 SELECT motif FROM spip_illegal_articles WHERE id_article=#ID_ARTICLE**
``avec la syntaxe suivante (qui donc, est encore erronée):
concernant le filtre php : c’est exact, mais mes compétences actuelles sont en en-deçà du langage PHP pour le moment… d’où ma tentative d’utiliser au maximum les balises SPIP.
en effet, il s’agit d’une table déclarée comme table de liens, d’où le fait d’avoir une clé primaire multiple
j’ai fini par obtenir le résultat voulu en utilisant une autre technique, celle d’une boucle DATA avec requête SQL (après recherche complémentaire dans les diverses documentations) et ceci fonctionne :
<BOUCLE_ma_requete(DATA){source sql, SELECT * FROM spip_illegal_articles WHERE id_article=#ID_ARTICLE}>
#MOTIF
J’aurais bien aimé pouvoir corriger la syntaxe pour utiliser #VAL et le filtre sql_getfetsel comme suggéré, juste pour apprendre, donc si jamais vous identifiez le problème, je suis preneuse.
Merci à tous pour vos messages et suggestions. Comme toujours, il y a plusieurs façons de résoudre un problème et l'aide de plusieurs personnes est appréciable.
Voici à l'heure actuelle:
- concernant la balise #VAL : après quelques tentatives d'écritures variées j'obtiens toujours un message d'erreur dans le debug de SPIP, qui pourtant semble bien reporter la requête souhaitée :
**Erreur SQL 1064*
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 SELECT motif FROM spip_illegal_articles WHERE id_article=#ID_ARTICLE*
avec la syntaxe suivante (qui donc, est encore erronée):
[(#VAL{'motif'}|sql_getfetsel{'spip_illegal_articles',#LISTE{'id_article=#ID_ARTICLE'}})]
- concernant le filtre php : c'est exact, mais mes compétences actuelles sont en en-deçà du langage PHP pour le moment... d'où ma tentative d'utiliser au maximum les balises SPIP.
- en effet, il s'agit d'une table déclarée comme table de liens, d'où le fait d'avoir une clé primaire multiple
- j'ai fini par obtenir le résultat voulu en utilisant une autre technique, celle d'une boucle DATA avec requête SQL (après recherche complémentaire dans les diverses documentations) et ceci fonctionne :
<BOUCLE_ma_requete(DATA){source sql, SELECT * FROM spip_illegal_articles WHERE id_article=#ID_ARTICLE}>
<p>#MOTIF</p>
</BOUCLE_ma_requete>
J'aurais bien aimé pouvoir corriger la syntaxe pour utiliser #VAL et le filtre sql_getfetsel comme suggéré, juste pour apprendre, donc si jamais vous identifiez le problème, je suis preneuse.
les messages d'erreur servent à comprendre les erreurs.
là c'est **Erreur SQL 1064* You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 SELECT motif FROM spip_illegal_articles WHERE id_article=#ID_ARTICLE*
Elle donne in extenso la requête mysql foireuse :
« SELECT motif FROM spip_illegal_articles WHERE id_article=#ID_ARTICLE ».
Dans cette requête, tu peux voir qu'il reste un #ID_ARTICLE,
et qui est incompréhensible pour MYSQL.
Si SPIP ne l'a pas compilé, c'est probablement que l'expression est trop complexe.
Donc simplifie.
Là, pas la peine d'utiliser #LISTE puisqu'il n'y a qu'un seul critère.
Inutile, par ailleurs, de mettre des quotes si yen a pas besoin.
Donc pour mettre les chances de ton côté : #SET{where,id_article=#ID_ARTICLE}
[(#VAL{motif}|sql_getfetsel{spip_illegal_articles,#GET{where}})]
Ceci dit ça précisément n'a rien d'une sélection par clés primaires multiples.
Et autant faire une boucle simple :
<BOUCLE_motif(ILLEGAL_ARTICLES){id_article}>#MOTIF</BOUCLE_motif>
Ou y accéder par #INFO_MOTIF.