Back to top

Autore Topic: [RISOLTO] da text box a dropdown dinamico  (Letto 2610 volte)

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
[RISOLTO] da text box a dropdown dinamico
« il: 09 Nov 2016, 17:38:28 »
Ciao ragazzi, sto modificando il sistema che ho trovato su questo sito dei dropdown dinamici regioni-->province-->comuni
vorrei modificarlo in un dropdown automatico non modificabile dall'utente
clienti-->agenti-->manager
però io all'inizio del form ho già un textbox che identifica l'id del cliente con questo codice

Codice: [Seleziona]
<?php
$user 
JFactory::getUser();
$form->data['codiceutente'] = $user->username;
?>

come posso fare per collegare il valore del textbox id_user con il primo dropdown cliente ?? dovrei usare una funzione di copia incolla o rendere il primo dropdown il textbox iniziale stesso, voi che mi consigliate ?
« Ultima modifica: 23 Nov 2016, 09:45:07 da Ago_ »

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #1 il: 16 Nov 2016, 10:16:18 »
Ho risolto il problema aggirandolo, ho inserito due nuovi campi nella tabella user per specificare alcune relazioni particolari.

Adesso sto seguendo la guida di giusebos presente su icagenda, perfetta in ogni parte, installata la demo perfettamente funzionante. Ma se provo ad applicarla al mio form non mi funziona, penso sia un problema di impostazioni di tabelle, spiego meglio....

la demo ragiona su regioni-->province-->comuni
invece io dovrei fare il processo inverso
clienti-->agenti-->responsabili (inutile direi che 3 responsabili hanno piu agente, e piu agenti hanno piu clienti)

clienti: idcliente, nomecliente, idagente
agenti: idagente, nomeagente, idmanager
manager: idmanager, nomemanager

sono quasi certo sia errata l'impostazioni delle tabelle, in ogni caso io devo partire dal dato del cliente (l'unico che ho in partenza).

qualche suggerimento ?? grazie

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #2 il: 17 Nov 2016, 17:02:32 »
essendo che in ogni tabella va ripetuta in un campo la chiave primaria della tabella padre, ho scoperto che non posso adattare 3 dropdown dinamici al mio caso per il fatto che hanno una proprietà inversa rispetto al ragionamento regione-provincie-comuni

devo inventarmi un altro modo per arrivare ad avere su due campi/dropdown il manager e l'agente relativi partendo dal cliente.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #3 il: 17 Nov 2016, 20:06:57 »
Puoi avere quante dipendenze vuoi, devi solo correlare nel modo giusto le tabelle, cioè ogni tabella padre deve avere un campo in comune con una tabella figlia,

Così per esempio riporto il caso regione provincia comune:

Tabella regione avrà solo un id chiave primaria per comodità idRegione ma puoi chiamarlo come ti pare
Tabella province avrà un idProvincia primaria ed un idRegione che dovrà essere uguale all'idRegione della regione di appartenenza
Infine tabella comuni avrà idProvincia primaria ed un idprovincia che dovrà essere uguale all'idprovincia della provincia di appartenenza.

Puoi proseguire quanto vuoi e non ha importanza che i nomi siano regioni, provincia o comuni ma puoi mettere quello che ti pare purché rispetti le dipendenze, poi ci saranno tanti sistemi di script per ricavare i dropdown la struttura dek db non cambia se cambia il codice. dai uno sguardo anche a come l'ho realizzato con datagrill (in firma)

xataface.it/esempio.html
se entri come utente registrato puoi aggiungere o modificare.
user e pw tester
xataface.it/login.html

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #4 il: 21 Nov 2016, 11:54:12 »
si, ho studiato come mettere in relazione clienti-->agenti-->responsabili
ma è impossibile con questra struttura partendo dal responsabile
quindi l'esempio regioni-->province-->comuni non si può utilizzare

a quesdto punto penso di creare unica tabella con i campi (idcliente, nomecliente, agente, responsabile) e usare un codice che scelto il cliente da un dropdown mi faccia la select dei dati restanti dello stesso record scelto e stampare su due textboxd (agente, responsabile)

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #5 il: 21 Nov 2016, 17:58:14 »
informandomi sul forum ufficiale chronoengine ho capito che per caricare altri campi di un record scelto tramite dropdown ho bisogno di javaScript con una chiamata ajax, sfruttando una matrice JSON. Sto cercando delle faq ma non riesco a trovare niente di esplicativo.

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #6 il: 22 Nov 2016, 08:59:30 »
Se parti dal cliente che senso ha avere delle dropdown per scegliere le altre entità se sono già state impostate sul db  ;D  Il dropdownl è pensato per selezioni consecutive e conseguenziali, nel tuo caso a mio parere non hoa molto senso.

A questo punto lasci le tabelle invariate e quando vai a fare la select su clienti farai in realtà una select su
Codice: [Seleziona]
* FROM clienti NATURAL JOIN agenti NATURAL JOIN manager Così alla prima selezione hai già tutti i campi che ti interessano. Occhio però perchè questo è equivalente ad avere il tabellone "idcliente, nomecliente, agente, responsabile".

Sicuro che è quello che ti serve?
« Ultima modifica: 22 Nov 2016, 09:01:13 da giovi »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #7 il: 22 Nov 2016, 09:34:51 »
informandomi sul forum ufficiale chronoengine ho capito che per caricare altri campi di un record scelto tramite dropdown ho bisogno di javaScript con una chiamata ajax, sfruttando una matrice JSON. Sto cercando delle faq ma non riesco a trovare niente di esplicativo.

Con datagrill + xataface non serve nessun codice javascript aggiuntivo, è tutto già incluso.

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #8 il: 22 Nov 2016, 11:26:53 »
informandomi sul forum ufficiale chronoengine ho capito che per caricare altri campi di un record scelto tramite dropdown ho bisogno di javaScript con una chiamata ajax, sfruttando una matrice JSON. Sto cercando delle faq ma non riesco a trovare niente di esplicativo.

E'nel mio articolo sulle dropdown regioni, province, comuni

http://www.joomla.it/e-ancora/articoli-community-3x/8172-form-e-campi-dropdown-dinamici-con-chronforms-e-ajax.html
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 Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #9 il: 22 Nov 2016, 12:59:44 »
E'nel mio articolo sulle dropdown regioni, province, comuni

http://www.joomla.it/e-ancora/articoli-community-3x/8172-form-e-campi-dropdown-dinamici-con-chronforms-e-ajax.html

quindi teoricamente dovrei rimuovere dall'ajax il dbread sulla seconda tabella (province) e lasciare il custom code adeguatamente modificato con il modelID del primo dbread (la cosa piu difficile non essendo un programmatore)

Codice: [Seleziona]
<?php
$results 
= array();
$results[] = 'Seleziona agente';
foreach ( 
$form->data['legge'] as $v ) {
  
$results[$v['idAgente']]=$v['nomeAgente'];
}
echo 
json_encode($results);
?>

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:da text box a dropdown dinamico
« Risposta #10 il: 23 Nov 2016, 09:42:37 »
ho risolto la situazione lavorando sulle tabelle, ho tenuto i 3 dropdown dinamici e modificato la tabella facendo in modo che ogni relazione cliente--Agente e agente-->responsabile abbia n ID quante sdono el relazioni tra di essi. un modo molto ortodosso ma funzionale.

 



Web Design Bolzano Kreatif