problème d'espace + caractère effacé lors de l'utilisation de balises dans un critère where #3853

Closed
opened 6 years ago by JLuc · 8 comments
JLuc commented 6 years ago

Le critère suivant {where date_fin>(#GET{date_nulle} OR date_debut>#GET{date_nulle}}
se traduit par la clause SQL suivante : date_fin>'0000-00-00 00:00:00'R date_debut>'0000-00-00 00:00:00'
c'est à dire que le O du OR a été mangé ainsi qu'un espace.

Avec `{where (date_fin>'0000-00-00 00:00:00') OR date_debut>'0000-00-00 00:00:00'} ça passe

(SPIP 3.1)

Le critère suivant `{where date_fin>(#GET{date_nulle} OR date_debut>#GET{date_nulle}}` se traduit par la clause SQL suivante : `date_fin>'0000-00-00 00:00:00'R date_debut>'0000-00-00 00:00:00'` c'est à dire que le O du OR a été mangé ainsi qu'un espace. Avec `{where (date_fin>'0000-00-00 00:00:00') OR date_debut>'0000-00-00 00:00:00'} ça passe (SPIP 3.1)
b_b commented 6 years ago
Owner

J'ai souvenir d'avoir déjà lu que le critère where doit généralement être utilisé avec un set/get dès qu'on tente d'y utiliser des balises comme dans ton cas, as-tu tenté ça ?

J'ai souvenir d'avoir déjà lu que le critère where doit généralement être utilisé avec un set/get dès qu'on tente d'y utiliser des balises comme dans ton cas, as-tu tenté ça ?
b_b commented 6 years ago
Owner

Version cible mise à 3.1

**Version cible mise à 3.1**
b_b commented 6 years ago
Owner
There is no content yet.
Poster

Oui b_b je m'en sors ... parfois avec des {where #GET{cond}}
ou ailleurs avec des {where #VAL{"DATE_ADD(date_debut,INTERVAL 2 WEEK)<date_fin"}}
ou parfois avec des parenthèses étranges {where (date_fin>#GET{date_seuil}) OR (date_debut>#GET{date_seuil})}

Souvent les espaces sont mangés, mais là tout de même, c'est une lettre qui est mangée !

Oui b_b je m'en sors ... parfois avec des `{where #GET{cond}}` ou ailleurs avec des `{where #VAL{"DATE_ADD(date_debut,INTERVAL 2 WEEK)<date_fin"}}` ou parfois avec des parenthèses étranges `{where (date_fin>#GET{date_seuil}) OR (date_debut>#GET{date_seuil})}` Souvent les espaces sont mangés, mais là tout de même, c'est une lettre qui est mangée !
b_b commented 6 years ago
Owner

Oui, maj du titre pour bien l'indiquer.

Oui, maj du titre pour bien l'indiquer.
Owner

Je ne sais pas si c'est une coquille dans le ticket, mais le where indiqué contient une coquille

{where date_fin>(#GET{date_nulle} OR date_debut>#GET{date_nulle}}

il manque une parenthèse fermante après #GET{date_nulle}

Je ne sais pas si c'est une coquille dans le ticket, mais le where indiqué contient une coquille <pre> {where date_fin>(#GET{date_nulle} OR date_debut>#GET{date_nulle}} </pre> il manque une parenthèse fermante après `#GET{date_nulle}`
Poster

Effectivement.

La syntaxe du where est foireuse (ma faute), et spip la traite de manière tellement extraordinaire (en mangeant le O de OR) que je n'avais pas vu mon erreur. Je ne sais quelle conclusion en tirer !

Effectivement. La syntaxe du where est foireuse (ma faute), et spip la traite de manière tellement extraordinaire (en mangeant le O de OR) que je n'avais pas vu mon erreur. Je ne sais quelle conclusion en tirer !
b_b commented 6 years ago
Owner

Je me permets d'en tirer la conclusion suivante : on peut fermer le ticket :)
Statut changé à Fermé

Je me permets d'en tirer la conclusion suivante : on peut fermer le ticket :) **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.