Back to top

Autore Topic: Mettere in ordine tabella Users e tabelle Chronoforms.-  (Letto 3037 volte)

Offline assospiz

  • Esploratore
  • **
  • Post: 138
    • Mostra profilo

Buongiorno a tutt*,
il presente post per una Vs dritta su come risolvereste una nostra necessità.
Premettiamo che "mastichiamo" un po' di php e Co. ma non è proprio la nostra lingua madre... siamo più tipi da cerca, copia, adatta, incolla e incrocia le dita per vedere se funziona ;-)
Comunque sia.


Abbiamo una tabella Users con circa 500 utenti registrati.
Alcuni di questi User partecipano anche alle nostre 2 gare iscrivendosi attraverso un paio di form (CFv4 tutto custom code) dove devono inserire di nuovo dei dati messi in fase di registrazione e altri dati necessari alle due gare.
Per far loro una cortesia abbiamo aggiunto alcune colonne alla tabella Users con un po' di questi dati caricati da amministratore, e ricavati delle iscrizioni degli anni passati, in modo che in fase di iscrizione l'utente, se loggato, si ritrovi alcuni campi già compilati.


Prima domanda:
In caso di aggiornamento della versione di Joomla le colonne aggiunte nella tabella users rimarrebbero o verrebbero spazzate via"? E se rimangono, potremmo pensare di creare un ulteriore form utente per permettergli di lavorare e modificare/integrare i dati del proprio profilo?


In po' di tempo dopo abbiamo creato un nuovo form di registrazione utenti joomla (lo trovate sul nostro sito www.spiz.it) che richiede già alcuni dei dati per le gare in fase di registrazione al sito.


Per cui ora abbiamo una tabella Chronoforms con i dati integrativi per le gare ma con cf_id non "allineati" con gli id della tabella Users, una tabella users, e tutte le tabelle delle iscrizioni alle edizioni passate.


Da cui la seconda domanda:
Se volessimo "frullare" i dati dalle due tabelle "registrazione" al sito per pre-compilare i form di iscrizione dobbiamo allineare cf_id e id di queste tabelle? Operando a manina? Magari cambiando i cf_id con i numeri di id users? E quindi far modificare all'utente i propri dati gara solo nella tabella Chronoforms?


Nella speranza di averVi trasmesso la nostra confusione, Vi ringraziamo per ogni suggerimento o consiglio (le righe di codice o simile sono ben accette)


Buon fine setiman
assospiz
SPIZ Associazione di Promozione Sociale
www.spiz.it

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Mettere in ordine tabella Users e tabelle Chronoforms.-
« Risposta #1 il: 11 Mar 2016, 19:01:31 »
1) per gli aggiornamenti nell'ambito della stessa versione di Joomla non dovrebbero esserci problemi. Problemi potrebbero porsi nel caso di nuova versione es. Joomla 4 che potrebbe avere tabelle users diverse com'è accaduto in passato. Anche se potrebbero esserci degli strumenti, come ci sono ora, per importare le tabelle.
Sarebbe più sicuro forse creare una nuova tabella con i campi aggiuntivi collegata alla users con la chiave primaria della tabella users ripetuta nei campi aggiuntivi insieme anche con l'username . In questo modo qualsiasi cosa accade si dovrebbe ricostruire la relazione della tabella con quella users ricollegando gli username.

2) frullando con query sql le tabelle possono essere gestite, c'è del lavoro sicuramente da fare con opportune query ma penso alla fine il risultato arriverà
Attenzione ad un aspetto, il cf_id delle tabelle di chronoforms è la chiave primaria della tabella non è il campo uguale alla id di users. Nella tabelle di chronforms c'è uno specifico campo in cui è ripetuto il codice utente, e si chiama user_id (chronoforms V5) qualcosa di simile nelle precedenti versioni.
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 assospiz

  • Esploratore
  • **
  • Post: 138
    • Mostra profilo
Re:Mettere in ordine tabella Users e tabelle Chronoforms.-
« Risposta #2 il: 11 Mar 2016, 20:34:05 »

Grazie Valerio per la sollecita risposta.


Siccome la nostra situazione attuale è:
a) non abbiamo installato CFv5 perché il codice custom ci è di più ostica compilazione rispetto a quello di CFv4;
b) vecchi user registrati "alla vecchia maniera" memorizzati nella tabella USERS con campi aggiuntivi popolati a mano da admin;
c) nuovi user che si registreranno con CFv4 e con campi aggiuntivi popolati a discrezione dell'utente che popoleranno sia la tabella USERS che la tabella CFv4_USERS;


Noi procederemmo così:
1) copia dati della tabella USERS nella nuova tabella CFv4_USERS utilizzando il campo ID per popolare la colonna CF_USER_ID;
2) eliminazione colonne inserite a mano nella tabella USERS;
3) codice php nei vari form per recuperare i dati necessari a popolare i campi sia da tabella USERS che da tabella CFv4_USERS.


Crediamo sia la cosa più facile da fare.
Che ne pensi?


Grazie per la gentile disponibilità
assospiz
SPIZ Associazione di Promozione Sociale
www.spiz.it

Offline assospiz

  • Esploratore
  • **
  • Post: 138
    • Mostra profilo
Re:Mettere in ordine tabella Users e tabelle Chronoforms.-
« Risposta #3 il: 11 Mar 2016, 20:48:12 »
Ancora una cosa.
Abbiamo fatto un test di nuova iscrizione e la nuova riga ha valore "0" nel campo CF_USER_ID.
Ovviamente, pensiamo, in quanto utente non ancora registrato ma sarebbe utile che in quel campo venisse scritto direttamente il nuovo ID della tabella USERS o è superfluo?
Perdonaci le mille domande ma ci stiamo muovendo sulle uova e non vogliamo combinare frittate.
SPIZ Associazione di Promozione Sociale
www.spiz.it

Offline assospiz

  • Esploratore
  • **
  • Post: 138
    • Mostra profilo
Re:Mettere in ordine tabella Users e tabelle Chronoforms.-
« Risposta #4 il: 11 Mar 2016, 21:24:54 »
Beh, a proposito di cerca, copia, adatta & incolla

Codice: [Seleziona]
<?php$form->data['cf_user_id'] = $form->data['_PLUGINS_']['joomla_registration']['id'];?>
fonte:
http://www.chronoengine.com/component/chronoforums/posts/f16/t81582/quot-cf-user-id-quot-field-joomla-registration-plugin-cfv4-rc3-3.html
SPIZ Associazione di Promozione Sociale
www.spiz.it

 



Web Design Bolzano Kreatif