Check out the LimeSurvey source code on GitHub!

Filtre conditionnel et format date

  • Mmartel
  • Mmartel's Avatar Topic Author
  • Visitor
  • Visitor
3 years 6 months ago #98394 by Mmartel
Bonjour,

Je cherche à conditionner une question à une réponse précédente sur un champ date...

Pour faire simple :
la question précédente : DATE DE NAISSANCE (champ date / affichage dd/mm/yyyy)

Pour la question suivante, je souhaite ne l'activer que si la date de naissance est après le 01/01/1987
Pour celle d'après, uniquement si la date de naissance est avant ou égale au 01/01/1987

J'ai beau chercher, pas moyen de trouver comment rédiger ces deux conditions... ça doit venir du format date à saisir comme constante mais je ne trouve pas la solution..
Si une bonne âme passe par là ! ..

Merci d'avance,

Please Log in to join the conversation.

  • Shaq
  • Shaq's Avatar
  • Visitor
  • Visitor
3 years 6 months ago #98400 by Shaq
Salut,

Il existe sur le forum un sujet à peu près similaire et déjà traité.

www.limesurvey.org/fr/forum/french-forum...-condition-prealable

Tu peux aller voir dans cette direction, je pense que ça t'aidera. ( Egalement, je me demande si ce ne serait pas mieux de passer par une saisie numérique plutôt qu'une saisie type "date et heure" pour la comparaison... )

Shaq

Please Log in to join the conversation.

More
3 years 6 months ago #98408 by DenisChenu
Salut,

Shaq n'à pas tord, mais sinon, depuis peu : manual.limesurvey.org/Question_type_-_Date#Validation_on_date soit strtotime

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
The following user(s) said Thank You: Mmartel

Please Log in to join the conversation.

  • Mmartel
  • Mmartel's Avatar Topic Author
  • Visitor
  • Visitor
3 years 6 months ago #98412 by Mmartel
Merci Shap pour ton retour, qui m'aide ... mais pour d'autres questions que je me posais
Le sujet vers lequel tu me renvoies étant lié aux affichages conditionnés de groupe de question.

Ma question porte plus exactement sur la mise en place d'une condition basée sur un champ date et sur la manière de la saisir.
Et là, je sèche !

Le questio étant urgent, j'ai effectivement ajouté un champ "AGE" en numérique et je filtre.
C'est effectivement plus simple mais j'ai besoin de garder l'info de la date de naissance (qui est une donnée stable) plus que l'âge, qui évolue chaque jour !

D'où la recherche d'un filtre sur la date.



Je vous donne un autre exemple plus parlant peut-être..

1. Quelle est votre date de naissance ?
2. Avez-vous regardé la finale de la coupe du monde 1998 ?
3. Auriez-vous regardé la finale de la coupe du monde 1998 si vous étiez né ?

Dans ce cas, comment conditionner la question 2 aux personnes nées avant le 12/07/1998 ?
et la 3 aux personnes nées après cette même date...

Please Log in to join the conversation.

  • Shaq
  • Shaq's Avatar
  • Visitor
  • Visitor
3 years 6 months ago - 3 years 6 months ago #98413 by Shaq
Pas de soucis,

J'avais bien compris le principe, hélas j'ai l'impression de ne pas être à la page...

Grâce au lien de Denis, je découvre que ta requête possède une fonction taillée rien que pour elle.

strtotime(). La date étant une chaîne de caractère, cette fonction aide à effectuer des tests entre deux dates différentes (par exemple strtotime(self)>strtotime("2013-03-27")).
Last Edit: 3 years 6 months ago by Shaq.

Please Log in to join the conversation.

  • Mmartel
  • Mmartel's Avatar Topic Author
  • Visitor
  • Visitor
3 years 6 months ago #98414 by Mmartel
Bon, je viens de trouver une solution
Dans les options avancées de ma question 1 : format date yyyy-mm-dd et affichage en listes déroulantes

Dans les conditions de mes questions 2 et 3 : constante au format yyyy-mm-dd


Ce qui ne fonctionne pas si on met le format dd-mm-yyyy des deux côtés, ou si on utilises les "/" comme séparateur.

Merci à tous les deux tout de même vous m'avez fait avancer !

Please Log in to join the conversation.

More
3 years 6 months ago #98417 by DenisChenu
Il faudrais regarder strtotime(qcode)>strtotime("dd/mm/yyyy") ,

Plus facile à gérer en javascript qu'en PHP AMHA:
www.php.net/manual/fr/function.strtotime.php#106105

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).

Please Log in to join the conversation.

Moderators: Nickko
Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form