Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Recuperare un valore selezionato da una dropdown list(tra molte)

  • seccalisca
  • seccalisca's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 6 days ago - 5 years 6 days ago #183265 by seccalisca
Buonasera a tutti,
in un mio questionario ho l'utente che deve selezionare un elemento x da un array doppia scala.
Ad ogni elemento x selezionato sull'array corrisponde una diversa dropdown list con altri y elementi.
Stiamo parlando di oltre 100 dropdown list che si mostreranno o meno a seconda di cosa scelgo sull'array doppia scala.
Tralasciando l'oscenità della cosa costruita in questa maniera, per evitare incubi durante l'analisi dei dati avremmo pensato di assegnare ad un campo equation il valore selezionato dalla dropdown list che verrà attivata.
Esiste un modo (anche un javascript) per ricavare tale valore dopo la selezione?
Spero di essere stato abbastanza chiaro.
Grazie fin d'ora

PS (Stiamo parlando di Limesurvey 2.05+ Build 141229)
Last edit: 5 years 6 days ago by seccalisca.
The topic has been locked.
More
5 years 6 days ago #183272 by lfanfoni
Qui trovi la sintassi completa per accedere alle risposte di domande precedenti per tutte le tipologie di domande:
manual.limesurvey.org/Expression_Manager#Qcode_Variable_Naming
Per la array doppia scala funziona cosi': se la tua domanda ha codice Q1, le tue sottodomande hanno codice SQ01, SQ02, ..SQ0N, allora questa:
{Q1_SQ01_0.NAOK}
restituirà il codice risposta della prima scala della prima sottodomanda (riga), mentre questo:
{Q1_SQ01_1.NAOK}
restituirà il codice risposta della seconda scala della prima sottodomanda (riga).
Se al posto del "NAOK" usi "shown", ti restituisce l'etichetta della risposta di scelta singola.
Puoi provare 'sta cosa anche nel testo della stessa domanda dual scale

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The following user(s) said Thank You: seccalisca
The topic has been locked.
  • seccalisca
  • seccalisca's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 4 days ago #183322 by seccalisca
Innanzitutto grazie per la velocissima risposta (come sempre), ma purtroppo non credo funzioni (o spero di non aver capito bene).
Io ho un gruppo di domande così costituito:
  • 1 dual array per la selezione Regione / Provincia (sfruttando uno script trovato sempre qui :-) );
  • 103 liste dropdown (una per ogni provincia) da cui l'utente può selezionare un elemento (scuola) a scelta.

A seconda della provincia scelta nel dual array, mostro all'utente la corrispondente lista da cui selezionare la scuola.
Dopo che l'utente ha effettuato la selezione, vorrei mettere il risultato dentro un campo equation per poter avere (in fase di analisi) un'unica colonna da controllare. Non so prima quale delle 103 liste verranno selezionate .

Dal link che mi hai consigliato di leggere sembrerebbe che ogni tipologia di domanda ha un suo codice di riferimento che trascende il codice che gli ho assegnato (nel mio caso dovrebbe essere {Q18.shown}, giusto?) ma il sistema mi dice che c'è un errore......dove sbaglio?

PS(naturalmente tutto questo casino avviene anche perchè non riesco a creare un singolo dual array con l'associazione province / scuola in quanto nonostante io abbia fatto aumentare i parametri
Code:
upload_max_filesize = 40M
post_max_size= 128M
non riesco ad effettuare un caricamento di un array che superi il centinaio di elementi )
The topic has been locked.
More
5 years 4 days ago #183327 by lfanfoni
Penso che la soluzione delle 103 dropdown con le scuole per provincia sia poco proponibile.
Ti allego una versione della dual scale che dovrebbe essere compatibile con la tua versione di limesurvey. Prova a importarle e vedi se funziona. Questa ha l'associazione Province-Comuni (8.000 comuni). Se anche le tue scuole hanno suppergiù questo ordine di grandezza, metti qui le due liste, che provo a creare sulla mia limesurvey una dual scale con i tuoi dati, e poi provi a reimportarle di nuovo, senza aprire il pannello di inserimento e modifica delle opzioni di risposta

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The following user(s) said Thank You: seccalisca
The topic has been locked.
  • seccalisca
  • seccalisca's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 4 days ago #183333 by seccalisca
In realtà ho già una dual scale Province-Comuni (che mi sa che ho preso proprio da te!), che funziona se caricato ed eseguito. Il problema dell' "out of memory" avviene se provo ad entrare in edit (come hai fatto notare tu). Purtroppo non posso condividere l'elenco delle scuole in quanto si tratta di una sperimentazione che ancora deve partire (sorry!). Giusto a chiusura del discorso per ora sono riuscito a risolvere con una serie di if all'interno della equation e sembra funzionare. Ne aggiungo una qui sotto come riferimento per chiunque avesse un problema simile.
  • In una domanda di tipo "equazione", nel campo domanda, modalità "codice sorgente" inserire:
    {if(! is_empty(<cod_domanda_tipo_dropdown_list>),<cod_domanda_tipo_dropdown_list>.shown,"")}
    La domanda deve essere di tipo "equazione" anzichè "visualizzazione testo" perchè altrimenti il risultato non viene salvato nel db ma mostrato solo a schermo
Grazie ancora per tutto l'aiuto
The topic has been locked.
More
5 years 4 days ago #183334 by lfanfoni
Il problema dell'out of memory si dovrebbe risolvere a livello di php.ini, aumentando il max_input_vars

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The following user(s) said Thank You: seccalisca
The topic has been locked.
  • seccalisca
  • seccalisca's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 3 days ago #183344 by seccalisca
Grazie della dritta, ma quindi non c'entrano le variabili che ho detto sopra, o è un'aggiunta?
Attualmente ho il valore impostato a 1000: c'è un valore "buono" o vado per tentativi?

Grazie
The topic has been locked.
More
5 years 3 days ago #183365 by lfanfoni
Non c'è bisogno di andare per tentativi: in quella pagina html vengono visualizzate per la modifica e salvataggio 2*(N+M) input text, dove N è il numero di opzioni di risposta della prima scala e M quello della seconda scala. Se non ricordo male, per le combo province-comuni ho fatto mettere 20.000 di max_input_vars. Pero' puoi anche aumentare questo parametro anche solo per fare il caricamento delle tendine, e poi rimetterlo al valore iniziale.

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The following user(s) said Thank You: seccalisca
The topic has been locked.
  • seccalisca
  • seccalisca's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 2 days ago #183387 by seccalisca
Ho provato a fare quanto mi dici (il valore è corretto in quanto la formula viene ca 16.000) ed ora ho questi tre valori impostati sul PHP.INI
Code:
upload_max_filesize = 40M
post_max_size= 128M
max_input_vars= 20000
Purtroppo non è cambiato nulla: se eseguo l'anteprima della domanda o se eseguo tutta la survey tutto ok.
Se provo a modificare le opzioni di risposta ricevo questo errore (da chrome, firefox dà pagina bianca)
Code:
This page isn’t working ......it is currently unable to handle this request.
HTTP ERROR 500
Non vorrei andare off topic, se vuoi spostami o posso aprire una nuova domanda.
Ti allego anche la semplice survey di prova che ho creato.

Grazie come sempre
The topic has been locked.
More
5 years 21 hours ago #183486 by lfanfoni
Ho importato la tua, e non mi funzionava la duale provincia-comuni completa (mostrava tutti i comuni per qualsiasi provincia selezionata).
Cosi' l'ho rimossa, e ho importato una mia versione della domanda, e a me funziona bene, su una 2.67, e riesco pure ad aprire le opzioni di risposta. Ti allego l'intera survey da me modificata. Prova a importarla e vedi se ti funziona.
Ci sono altri modi per forzare i vincoli del php.ini. La prima cosa che mi viene in mente è aggiungere manualmente direttamente sul database le righe delle opzioni di risposta sulla tabella lime_answers. Magari fai riferimento alla domanda con poche opzioni collegate e vedi come quella viene memorizzata sul db. Segnati il qid di quella domanda e vedi che la struttura è piuttosto intuitiva. A quel punto ti prepari un excel o un csv con i tuoi dati con quella struttura, e con uno strumento di gestione del database mysql/mariadb fai l'import dei dati direttamente in tabella. Penso che con HeidiSQL ce la puoi fare tranquillamente

File Attachment:

File Name: prov_com_f..._266.zip
File Size:114 KB

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The following user(s) said Thank You: seccalisca
The topic has been locked.
  • seccalisca
  • seccalisca's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
5 years 3 hours ago #183507 by seccalisca
Buongiorno e grazie ancora per l'impegno,
per quanto riguarda il primo problema credo sia dipeso dal fatto che durante tutta una serie di prove io avevo cablato il mio QID all'interno del javascript (scusa ho dimenticato di sistemare). Ad ogni modo i due script sembrano leggermente diversi (il tuo ha delle aggiunte che al mio mancano) ma purtroppo neanche questo mi da la possibilità di entrare in edit.
Per l'accesso al DB purtroppo ho le mani legate in quanto si trova su macchine che non posso raggiungere. L'unica cosa che posso fare è scocciare periodicamente i sistemisti e chiedere interventi puntuali (non credo che oltre l'installazione ci sia qualcuno che ci abbia "smanettato" dentro).
Io continuerò con i test, intanto auguri di buona pasqua. :-)
The topic has been locked.
More
5 years 3 hours ago #183508 by lfanfoni
A pasqua sarò in vacanza. Oggi pomeriggio potrei realizzarti le combo associate. Puoi mandarmi le due liste su lfanfoni@gmail.com

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose