Back to top

Autore Topic: Cronoforms 5 - Autocompleter che mostra due campi [RISOLTO]  (Letto 723 volte)

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
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.


Codice: [Seleziona]



<?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.
« Ultima modifica: 22 Set 2016, 17:47:35 da andreasuriani »
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Cronoforms 5 - Autocompleter che mostra due campi.
« Risposta #1 il: 20 Set 2016, 11:55:24 »
Ok, per quanto riguarda agganciare un altro dato nell'autocompleter il codice è questo:
Codice: [Seleziona]

<?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?
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

Offline andreasuriani

  • Appassionato
  • ***
  • Post: 470
  • Sesso: Maschio
  • Rag,Gran ladr.farabut, figlio di put . Direttore
    • Mostra profilo
Re:Cronoforms 5 - Autocompleter che mostra due campi.
« Risposta #2 il: 22 Set 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.


Codice: [Seleziona]

<?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
Codice: [Seleziona]

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

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


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



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


Sperando di essere stato utile.
Ciao Ciao




A
"Ragionere che fa, batti?! - Ma, mi dà del tu?? - No No dicevo, Batti Lei? - Ah Congiuntivo!"

 



Web Design Bolzano Kreatif