Back to top

Autore Topic: [RISOLTO]CheckBoxGroup: Come poter salvare opzioni multiple in un unico campo DB  (Letto 3048 volte)

Offline ghepa

  • Esploratore
  • **
  • Post: 57
    • Mostra profilo
Buongiorno a tutti,

ogni tanto ritorno con le mie domande ed i miei dubbi di realizzazione sul mondo chronoforms.
Ho questo tipo di problema.

Ho costruito un form di raccolta informazioni utenti.
L'utente in questione avrà la possibilità di selezionare una o piu scelte multiple su una checkbrox group.
Per esempio:

Selezionare sport preferito:
1-xxx
2-xxx
3-xxx
4-xxx
etc etc

A questo punto però, io devo andare a salvare tutte le opzioni scelte in un unico campo SPORT all'interno del DB già collegato al chronoform.

Ho fatto una prova ed il sistema mi salva solo l'ultima opzione trascurando tutte le altre.  :(
Come faccio invece a salvarli tutti insieme?? Quindi ad esempio ritrovarmi all'interno del campo una roba simile a: xxx,yyy,zzz (separato da virgola o da altro separatore)

Grazie a tutti coloro che mi potranno aiutare.

Ciao
Marco
Salva
« Ultima modifica: 10 Feb 2017, 15:07:25 da ghepa »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
In On Submit devi mettere un'action Handle arrays prima della Db Save.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline ghepa

  • Esploratore
  • **
  • Post: 57
    • Mostra profilo
Ciao Vales,
intanto grazie per la risposta.

Handle Arrays non l'ho mai utilizzato finora quindi ti  faccio una domanda che ai più, potrà sembrare banalissima.
Come devo configurarlo??

Ho inserito un debugger per vedere cosa mi restituisce, però vedo che mi rilascia sempre e solo l'ultima opzione.

Come devo configurare handle action in modo tale da potermi prendere tutte le opzioni di quel checkbox group??

Ti giro il mio caso specifico, in modo tale da poterci capire meglio:

FieldName: sport
FieldID: sport
Options:
0=Calcio
1=Rugby
2=Nuoto

PErfetto.
Se l'utente seleziona tutti e tre le option, in che modo devo configurare l'handles arrays su quel checkboxgroup ?

Grazie mille

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Non necessita di nessuna configurazione per default agisce su tutti i campi a selezione multipla inserendo una virgola come separatore di valori.

Il debugger di controllo deve essere dopo Handle arrays.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline ghepa

  • Esploratore
  • **
  • Post: 57
    • Mostra profilo
Ciao Vales

in realtà avevo commesso degli errori in fase di definizione del nome e nell'handles array.

Primo errore era nel Field Name della checkbox: infatti non avevo inserito le [] alla fine del Name (essendo un array), quindi :

FieldName: sport -->  sport[]

Secondo errore era che nella handles array, avevo si inserito il nome della checkbox, però non avevo inserito le parentesi graffe.
GRazie mille anche alle varie discussioni che nel frattempo ho letto con le tue risposte ad altri utenti.


EDIT:
Questo era il messaggio che ti stavo per scrivere, però non capisco perchè, ma nel debugger vedo i valori, però poi non li vedo salvati nel DB
Ti pubblico il debugger:

Array ( [option] => com_chronoforms5 [chronoform] => Frm_prenotazione_visita_medsportiva [event] => submit [cognome] => gdfgdfgdfg [nome] => dfgdf [sesso] => 0 [codfis] => dfgdfg [datanascita] => 22/02/2012 [disciplina] => 0 [societa] => dsasdasd [ambulatorio] => 1 [tuttigg] => tuttigg [sport] => Array ([0]=> 0 [1] => 1 [2] => 2 ) [telefono] => 1232456 )




Ho modificato il name_field della checkbox per indicarlo come array, però non credo di poter rinominare il campo del Db allo stesso modo.


c'è qualcosa che non mi torna
« Ultima modifica: 09 Feb 2017, 16:30:15 da ghepa »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Non capisco a cosa riferisci le parentesi graffe.

Handle arrays lascialo come di default senza nessuna altra indicazione. A vedere il debugger mi sembra che non sta lavorando dovrebbe restituire i valori del checkbox separati da virgole e no ncome valori di array
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline ghepa

  • Esploratore
  • **
  • Post: 57
    • Mostra profilo
Non capisco a cosa riferisci le parentesi graffe.

Handle arrays lascialo come di default senza nessuna altra indicazione. A vedere il debugger mi sembra che non sta lavorando dovrebbe restituire i valori del checkbox separati da virgole e no ncome valori di array


Avevo trovato una tua discussione di un po di tempo fa (però si parlava di un'altra versione di CF), dove dicevi all'utente in questione che, il name_field della checkbox in input doveva essere con le parentesi quandre, quindi ne mio caso sport[], mentre in handles array, andava richiamato il campo però tra parentesi graffa.


QUindi faceva riferimento a questo.
Tornando a noi:

OK, quindi se nella handles non devo toccare nulla perchè, come mi dicevi prima, prende in considerazione tutti i campi con selezione multipla, a questo punto l'unica cosa che devo toccare son i parametri della checkbox.



 In questo momento, è così strutturato:

FieldName: sport[]
FieldID: sport
Options:
0=Calcio
1=Rugby
2=Nuoto

Il debugger restituisce questo:

Array ( [option] => com_chronoforms5 [chronoform] => Frm_prenotazione_visita_medsportiva [event] => submit [cognome] => prova [nome] => prova [sesso] => 1 [codfis] => prova [datanascita] => 11/11/2011 [disabile] => 0 [disciplina] => 2 [societa] => eqweqw [ambulatorio] => 1 [tuttigg] => tuttigg [lunedi] => lunedi [sport] => 0,1 [telefono] => eqw  => eqweqw [note] => qeweqw)


Ora i valori dell'array li mette con le virgole, però non appena tolto il debugger e provo a salvarli nel db, il campo SPORT nel DB è vuoto.... :(
Salva
Salva
« Ultima modifica: 09 Feb 2017, 17:17:07 da ghepa »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
db save deve essere dopo Handle Arrays e nel database il nome del campo(colonna) sport deve essere uguale a quello nel form. sport e SPORT sono cose diverse.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline ghepa

  • Esploratore
  • **
  • Post: 57
    • Mostra profilo

db save deve essere dopo Handle Arrays e nel database il nome del campo(colonna) sport deve essere uguale a quello nel form. sport e SPORT sono cose diverse.

Ciao vales, scusami, ti ho confuso le idee con quel "sport" in maiuscolo.
Entrambi i nomi son trascritti in modo uguale.

'sport' come field name della checkbox (naturalmente seguita dalle parentesi quadra per via dell'array, quindi sport[] ) e 'sport' come colonna della tabella del DB.

Purtroppo ancora nulla, non funziona. :(

Dentro on summit c'è:
Handles Arras
Debugger
DB save
DB message
« Ultima modifica: 09 Feb 2017, 22:44:56 da ghepa »

Offline ghepa

  • Esploratore
  • **
  • Post: 57
    • Mostra profilo
CIao Vales,

finalmente son riuscito a risovlere la problematica.
Purtroppo ieri sera, dopo che ti ho scritto, ho fatto un pò di prove senza riuscire a capire qual'era il problema (ed in effetti non sbagliavo).

Stamane mi son fatto prendere da una pazzia ed ho rifatto totalmente il form (ieri avevo utilizzato un duplicato già sviluppato qualche mese)
Probabilmente c'era qualcosa che "non vedevo" e che non faceva fare le cose in modo corretto.
Non ho idea di cosa non funzionava, ma sta di fatto che, col form rifatto da zero, ha funzionato tutto.

Grazie mille di tutto come sempre.

Ciao
Marco
« Ultima modifica: 10 Feb 2017, 15:06:28 da ghepa »

 



Web Design Bolzano Kreatif