Joomla.it Forum

Joomla! 3 => Joomla! 3 => : andreasuriani 20 Sep 2016, 10:12:24

: Cronoforms 5 - Autocompleter che mostra due campi [RISOLTO]
: andreasuriani 20 Sep 2016, 10:12:24
Ciao a tutti,
avrei questa esigenza.
Utilizzo l'autocompleter di CF5 per cercare un dato sul db (nominativo, nello specifico).
Però avrei bisogno che, oltre al nominativo, appaia vicino anche un altro dato. Tipo (Andrea Suriani (406) ) 406 è il codice azienda.
Dato , che poi, dovrebbe essere portato in post.
Qualche idea?


Questo è il coice Json che è nell'autocompleter.


:



<?php
$db 
JFactory::getDbo();
$db->setQuery("SELECT  nominativo,id FROM xcsri_ana_intranet WHERE check_conguagliato IS NULL ORDER BY nominativo ASC");
$results $db->loadObjectList();
foreach(
$results as $result ){
   if(!empty(
$form->data['tag']) AND stripos($result->nominativo$form->data['tag']) === false){
      continue;
   }
   
$json[] = array('id' => $result->nominativo'text' => $result->nominativo);
}
echo 
json_encode($json);


Con speranza :)
A.
: Re:Cronoforms 5 - Autocompleter che mostra due campi.
: andreasuriani 20 Sep 2016, 11:55:24
Ok, per quanto riguarda agganciare un altro dato nell'autocompleter il codice è questo:
:

<?php
$db 
JFactory::getDbo();
$db->setQuery("SELECT  nominativo,cod_azie FROM xcsri_ana_intranet WHERE check_conguagliato IS NULL ORDER BY nominativo ASC");
$results $db->loadObjectList();
foreach(
$results as $result ){
if(!empty($form->data['tag']) AND stripos($result->nominativo$form->data['tag']) === false){
continue;
}
$json[] = array('id' => $result->nominativo'text' => $result->nominativo." (".$result->cod_azie.")");
}
echo 
json_encode($json);


Il problema che rimane, è come portare quel dato, in POST.
Idee?
: Re:Cronoforms 5 - Autocompleter che mostra due campi.
: andreasuriani 22 Sep 2016, 17:46:01
Sig. Marzullo, si faccia una domanda e si dia una risposta.


Per portare due dati in post attraverso l'autocompleter che ci mostra due campi distinti (nel mio caso, nominativo e codice identificativo dell'azienda) occorre eseguire questi passaggi:


1) Modificare il codice Json, in particolar modo inserendo nell'Array [id] i dati da portare come vedete nel codice.


:

<?php
$db 
JFactory::getDbo();
$db->setQuery("SELECT  nominativo,cod_azie,data_lic FROM xcsri_ana_intranet WHERE check_conguagliato IS NULL ORDER BY nominativo ASC");
$results $db->loadObjectList();
foreach(
$results as $result ){
if(!empty($form->data['tag']) AND stripos($result->nominativo$form->data['tag']) === false){
continue;
}
$json[] = array('id' => $result->nominativo."_".$result->cod_azie'text' => $result->nominativo." (".$result->cod_azie.")".$result->data_lic);
}
echo 
json_encode($json);


2) Come vedere, il campo porterà in post il nominativo seguito da _ e il codice (Nel mio caso, Andrea Suriani_111)
Ora per andare a separare i due campi, nella pagina successiva inserire il seguente codice
:

<?php
$key
=explode("_"str_replace("'","\'",$_POST["nomecampo"]));
?>

Cosi facendo, abbiamo creato due campi distinti che possiamo andare a richiamare con la variabile $key, ovvero


:
<?php
$key
[0]
$key[1
?>



dove, $key[0] sarà il nominativo e $key[1] il codice.


Sperando di essere stato utile.
Ciao Ciao




A