Back to top

Autore Topic: Estrarre parametro da campo "params" di jos_users  (Letto 2639 volte)

Offline cubalibre

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Estrarre parametro da campo "params" di jos_users
« il: 07 Mag 2011, 21:36:06 »
Ciao,
mi rivolgo al forum dopo aver ovviamente cercato in rete.
Avrei bisogno di estrarre un parametro di dato nome contenuto nel campo params della tabella utenti.
Gli utenti vengono letti con un ciclo while e per ognuno dovrei ricavare oltre agli altri campi anche il valore di questo parametro.
Non ho idea di come fare.
Ogni aiuto sarà apprezzato.
Grazie

« Ultima modifica: 07 Mag 2011, 21:41:11 da cubalibre »


Offline cubalibre

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Estrarre parametro da campo "params" di jos_users
« Risposta #2 il: 08 Mag 2011, 10:31:12 »
Ho visto....
ma... non si tratta di ricavare il parametro per l'utente correntemente loggato.
Come ho detto sopra, devo fare un elenco degli utenti registrati, con un ciclo while e, per ognuno di essi, dovrei specificare oltre ai dati anagrafici anche il valore di un parametro aggiuntivo che si trova appunto, tra gli altri, nel campo "params" del record.

mau_develop

  • Visitatore
Re:Estrarre parametro da campo "params" di jos_users
« Risposta #3 il: 08 Mag 2011, 13:34:06 »
$db =& JFactory::getDBO();
$query = "SELECT params FROM #__users";
$db->setQuery($query);
$res = $db->loadAssocList();
print_r($res);

M.

Offline cubalibre

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Estrarre parametro da campo "params" di jos_users
« Risposta #4 il: 08 Mag 2011, 13:52:05 »
cerco di spiegarmi meglio con un esempio:
la mia difficoltà non è quella di ricavare il contenuto del campo params, che si ottiene come qualunque altro campo di una tabella.
Esso nel mio caso, per un dato record, è ad esempio:
[params] => admin_language=it-IT language=it-IT editor=tinymce helpsite= timezone=1 parametro1=2 parametro2=4)
La mia difficoltà è di quella di fare il parsing della stringa e ricavare da essa il valore di parametro1 e parametro2 ed ottenere, per questo record:
$parametro1=2;
$parametro2=4;
« Ultima modifica: 08 Mag 2011, 13:55:54 da cubalibre »

mau_develop

  • Visitatore
Re:Estrarre parametro da campo "params" di jos_users
« Risposta #5 il: 08 Mag 2011, 16:30:39 »
...credo siano stringhe "acapate", prova a fare un array con explode() http://php.net/manual/en/function.explode.php

dove il separatore è \n

$db =& JFactory::getDBO();
$query = "SELECT params FROM #__users";
$db->setQuery($query);
$res = $db->loadAssocList();

foreach($res as $parametri){
              $prms=explode('\n', $parametri);
// a qs punto hai un array delle coppie name=value che puoi estrarre con un substring dopo aver individuato la posizione dell = , oppure trasformare in un array multidimensionale con un altro explode.

..non vorrei dire una scemenza ma joomla dovrebbe avere un metodo per estrarre un parametro,... sono metodi quindi riusabili ... è che non ricordo è un po' che non mi capita di usarli

M.

Offline cubalibre

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Estrarre parametro da campo "params" di jos_users
« Risposta #6 il: 08 Mag 2011, 17:09:40 »
Grazie Cyborg,
ho fatto come hai detto, usando 2 explode, e sono riuscito.
Se poi a te o a qualcun altro verrà in mente il metodo di Joomla a cui accennavi, aggiungerò al codice oltre che la funzionalità anche l'eleganza.
Ciao

 



Web Design Bolzano Kreatif