Welcome, Guest
Username: Password: Remember me

TOPIC: Filtre conditionnel et date

Filtre conditionnel et date 1 year 10 months ago #89218

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2130
  • Thank you received: 265
  • Karma: 57
Bonjour à tous,

Je dois réaliser un sondage que les gens remplirons 5 jour de suite.
Ce sondage est composé de 7 groupes, donc les 5 derniers sont identiques mais correspondent à un jour.
J'aimerais pour chaque groupe avoir les règles suivantes :

Les dates sont fictive, je ne sais pas encore quand le sondage sera lancé.
  • Groupe 1 : affiché le 01/01/2012 (c.-à-d. uniquement affiché le premier jour) sauf s'il n'a pas encore été rempli
  • Groupe 2 : identique au groupe 1
  • Groupe 3 : identique au groupe 1
  • Groupe 4 : affiché le 02/01/2012 (c.-à-d. uniquement affiché le premier jour) sauf s'il n'a pas encore été rempli
  • Groupe 5 : affiché le 03/01/2012 (c.-à-d. uniquement affiché le premier jour) sauf s'il n'a pas encore été rempli
  • Groupe 6 : affiché le 04/01/2012 (c.-à-d. uniquement affiché le premier jour) sauf s'il n'a pas encore été rempli
  • Groupe 7 : affiché le 05/01/2012 (c.-à-d. uniquement affiché le premier jour) sauf s'il n'a pas encore été rempli

Est-ce que quelqu'un aurait une idée pour mettre ça en place ?

D'avance merci,
Nicolas G.
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.

Re: Filtre conditionnel et date 1 year 10 months ago #89220

  • titoun31
  • titoun31's Avatar
  • OFFLINE
  • Expert Lime
  • Posts: 99
  • Thank you received: 12
  • Karma: 6
Salut Nickko,

Je ne saurais pas le programmer comme ça, mais tu gères bien le Javascript, "hide" ton groupe en fonction d'une variable date que tu checkes en fonction du timer de ton serveur ou du PC de la personne qui se connecte.

A mon avis se serait la solution la plus simple et la plus générale...

Malheureusement, je ne connais pas les fonctions ... peut être cela peut t'aider :

/* Renvoie la date courante */
function keljoureton()
{
/* 'now' contient "Wed Nov 28 2012 14:14:41 GMT+0100" */
var now = new Date();

/* On récupère les différents composants de la date */
var year = now.getYear();
var month = now.getMonth();
var date = now.getDate();
var day = now.getDay();

/*JavaScript renvoie le numéro du jour */
var jour = new Array(7);
jour[0] = "Dimanche ";
jour[1] = "Lundi ";
jour[2] = "Mardi ";
jour[3] = "Mercredi ";
jour[4] = "Jeudi ";
jour[5] = "Vendredi ";
jour[6] = "Samedi ";

/*JavaScript renvoie le numéro du mois */
var mois = new Array(12);
mois[0] = " Janvier ";
mois[1] = " Février ";
mois[2] = " Mars ";
mois[3] = " Avril ";
mois[4] = " Mai ";
mois[5] = " Juin ";
mois[6] = " Juillet ";
mois[7] = " Août ";
mois[8] = " Septembre ";
mois[9] = " Octobre ";
mois[10] = " Novembre ";
mois[11] = " Décembre ";

/* Composition de la chaîne de caractère */
return jour[day] + date + mois[month] + year;
}


Bon courage

Thibault
The administrator has disabled public write access.

Re: Filtre conditionnel et date 1 year 10 months ago #89270

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2130
  • Thank you received: 265
  • Karma: 57
En fait je cherche à utiliser le filtre conditionnel si je dois commencer à bidouiller du Js ça ne va pas plaire, ce n'est pas pour moi que je fais ce sondage.
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.

Re: Filtre conditionnel et date 1 year 10 months ago #89286

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6451
  • Thank you received: 844
  • Karma: 249
Salut,

Je crois qu'il est possible de jouer avec les équation et date()/mktime().

1ere question:
- Equation, texte : {date("Ymd",mktime(0, 0, 0, 29, 11, 2012))} (ou plus simple : 20121129 dailleurs) (option avancées: numérique)
2eme question:
- Equation, texte : {date("Ymd")} (option avancées: numérique)

Pour la première équation, tu va avoir le nombre dans la base de données, pour la deuxième le nombre correspondant au moment du passage du questionnnaire.

Ensuite, tu peux effectuer des calculs, d'ailleurs cela doit être est directement possible avec une équation de ce type:
{date("Ymd")-20121129} (code DATEDIFF)

Ensuite, selon le décalage des dates, tu peux effectuer les conditions sur les groupes:
DATEDIFF=1 / DATEDIFF>1 ....

AJOUT:
pour le "sauf s'il n'a pas encore été rempli", si il ya une question obligatoire dans le groupe (avec QCODE pour cette question) et le 2eme groupe
(DATEDIFF=2 or ( DATEDIFF>2 and QCODE!=""))
Last Edit: 1 year 10 months ago by DenisChenu.
The administrator has disabled public write access.
The following user(s) said Thank You: Nickko

Re: Filtre conditionnel et date 1 year 10 months ago #89297

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2130
  • Thank you received: 265
  • Karma: 57
Merci Denis, c'est exatement ce que je cherchais.

Pour le "sauf..." je vois déjà comment le faire.
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.

Re: Filtre conditionnel et date 1 year 10 months ago #89419

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2130
  • Thank you received: 265
  • Karma: 57
J'ai fait un tout petit peu différemment.
Dans le champ "Relevance" / "" des groupes, j'ai place : (date("Y-m-d") == "2012-11-30")
Ou 2012-11-30 correspond à la date du jour durant lequel devra être affiché le groupe.

Pour le "sauf..." en fait c'est tombé, je n'en ai plus besoin.
Nickko
Ergonome / Usability expert
Last Edit: 1 year 10 months ago by Nickko.
The administrator has disabled public write access.

Re: Filtre conditionnel et date 1 year 10 months ago #89429

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6451
  • Thank you received: 844
  • Karma: 249
J'aime bien de date("Ymd") qui permet donc de faire des calculs :)
The administrator has disabled public write access.
Moderators: Nickko
Time to create page: 0.115 seconds
Donation Image