Est-ce que l'un d'entre vous aurait un critère qui premettrait de ne sélectionner que les articles dont le texte (#TEXTE) dépasse une certaine valeur (0 par exemple). J'ai besoin de sélectionner 7 articles parmis les articles qui ont du texte, et comme je sais qu'il est possible d'insérer des critère SQL dans les boucles, je me demande s'il n'y a pas un moyen plus économique de faire ça, plutôt qu'à grands coups de #SET/#GET...
Olivier GENDRIN a écrit :
> Bonjour à tous !
>
> et comme je sais qu'il est possible d'insérer des critère
SQL dans les
> boucles
>
> Merci.
>
> --
> Olivier G.
jamais essayé, mais dans ce cas est-ce que ça peut pas le
faire avec {LENGTH(#TEXTE)>=N} ?
La limite, c'est qu'il faut trouver le nom à passer... car c'est l'alias de la table dans la requete, quand il y a des jointures, c'est pas toujours evident.
Mais bon, en general, c'est le nom de la table sans "spip_"
> Mais oui, on peut maintenant faire plein de trucs : des count, length,
> substr et autres fonctions disponibles.
Comment est-ce qu'on utiliserait substring et count dans un critère ?
pour le count, je vais pas dire de betises, je sais que j'ai vu passer des trucs sur la liste dev avec les jointures, mais c'est un peu chaud, car il faut un group by pour les autres champs, donc ca doit etre possible que si tu limite l'affichage à ce que tu comptes.
Pour le SUBSTRING, je ne sais pas, si tu cherches les articles dont les 3 premieres lettres du titres sont identiques à celles de l'article en cours, ce qui donnerait sans doute :
<BOUCLE_test(ARTICLES){SUBSTRING(titre,1,3)=(#TITRE|substr{0,3})}>
tu as aussi UPPER / LOWER / LTRIM /REPLACE (?)... qui peuvent servir... mais sans doute pas tous les jours.