Back to top

Autore Topic: [RISOLTO] come riempire le caselle dropdown con i valori del database  (Letto 5303 volte)

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Ragazzi, sto veramente impazzendo, sto provando 100 codici, 4 guide anche del forum ufficiale, ma non riesco a popolare in CC5 i campi dropdown con i valori memorizzati nel database. Magari qualcuno di voi può aiutarmi, l'ultimo codice provato dietro consiglio di un moderatore del forum ufficiale di chronoengine è il seguente

Codice: [Seleziona]
<select name="gestione[ddt]" id="gestione_ddt"  >
  <option value="555555">555555</option>
  <option value="77777">77777</option>
  <option value="99999">99999</option>
</select>

ma non riesco :(
« Ultima modifica: 10 Nov 2016, 09:38:02 da Ago_ »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #1 il: 28 Ott 2016, 13:28:31 »
cioè vuoi prelevare i dati di un campo di una tabella del database e visualizzarli in una select?
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #2 il: 28 Ott 2016, 13:30:48 »
Normalmente di mette in On load un'action Db read che punta ad una tabella
si attiva il model
si indicano i campi da utilizzare nella dropdown
se necessario si predispone in modo adeguato il campo conditions

nella drop si va nella tab Dynamic Data
si abilita
si inserisce in Path il model detto sopra
si indicano i campi value key e text key i campi della tabella che ci interessano
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:come riempire le caselle dropdown con i valori del database
« Risposta #3 il: 28 Ott 2016, 13:58:44 »
cioè vuoi prelevare i dati di un campo di una tabella del database e visualizzarli in una select?

grazie della risposta ragazzi

sì giusebos, hai proprio centrato il punto, sai come risolvere ?

vales, ho pure vagliato l'opzione di usare CF con db read ma avendo tutto pronto su CC preferisco risolvere questo problema del dropdown

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #4 il: 28 Ott 2016, 14:26:18 »
Ok, hai ragione ho dato una risposta non pertinente non avevo letto bene che ti riferivi a CC5.

In quale posizione si trova la dropdown in cc5?
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:come riempire le caselle dropdown con i valori del database
« Risposta #5 il: 28 Ott 2016, 14:30:13 »
Ok, hai ragione ho dato una risposta non pertinente non avevo letto bene che ti riferivi a CC5.

In quale posizione si trova la dropdown in cc5?

front list, actions, edit

il codice è composto da campi testo e dropdown per la modifica, poi il tasto save

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #6 il: 28 Ott 2016, 14:37:19 »
quindi nella casella Code ?
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:come riempire le caselle dropdown con i valori del database
« Risposta #7 il: 28 Ott 2016, 14:41:25 »
quindi nella casella Code ?

esatto

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #8 il: 28 Ott 2016, 15:25:34 »
Si può fare anche li ma va fatto tutto a mano con codice php che legge il database e poi popola la dropdown con i risultati della lettura nelle option. Ho visto la discussione sull'atlro forum ma non mi sembra sia stata conclusiva.

Il codice che hai mostrato all'inizio infatti è statico e non ha collegamenti con il database.

Alternativa è invece creare i form di edit che desideri e richiamarlo in Form event con

nome_form:load

questo ti permetterebbe di scrivere il form normalmente con i supporti di CF5 e popolare la dropdown come avevo già detto.

Devi scegliere la strada. Nella prima devi scrivere tutto a mano.
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:come riempire le caselle dropdown con i valori del database
« Risposta #9 il: 31 Ott 2016, 18:20:57 »
Si può fare anche li ma va fatto tutto a mano con codice php che legge il database e poi popola la dropdown con i risultati della lettura nelle option. Ho visto la discussione sull'atlro forum ma non mi sembra sia stata conclusiva.

Il codice che hai mostrato all'inizio infatti è statico e non ha collegamenti con il database.

Alternativa è invece creare i form di edit che desideri e richiamarlo in Form event con

nome_form:load

questo ti permetterebbe di scrivere il form normalmente con i supporti di CF5 e popolare la dropdown come avevo già detto.

Devi scegliere la strada. Nella prima devi scrivere tutto a mano.

ahhh capito, allora la migliore strada è quella proposta da te, su cui sto gia lavorando ma ho qualche piccola difficoltà.

ho duplicato il form di inserimento su CF, tolto le funzionalità che ormai non servono piu, collegato da CC come da te indicato (cancellato tutto il codice dal campo code). Funziona bene, compare tutto il form correttamente. Inserito in setup il dbRead e qui sorge la prima domanda, il campo Model ID dev'essere uguale all'azione dbSave o diverso ??
Poi nel dynbamic data del dropdown metto:
in data path il model id del DBread, in value key metto "id" e in text key il nome del campo interessato. Però facendo qualche prova velocemente mi sembra che non funzioni correttamente. Ho preso le info dalle guide ufficiali chronoengine, o forse ho sbagliato ? :)


Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #10 il: 02 Nov 2016, 17:26:57 »
in dynamic se metto

*in data path il model id del dbread
* in value key "id" ovvero la chiave primaria della tabella
* in text key il nome del campo della tabella da visualizzare (nel mio caso "soluzione")

però il dropdown visualizza l'elenco di tutti i valori di quel campo presenti nella tabella, non solo di quel record

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #12 il: 03 Nov 2016, 12:52:31 »
hai provato questa guida ?!
http://forum.joomla.it/index.php/topic,246230.0.html

con la configurazione da te linkata (in cui cambia solo il text value, dal nome campo al "title") vedo un elenco vuoto nel dropdown :(

Offline Stige82

  • Esploratore
  • **
  • Post: 90
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #13 il: 03 Nov 2016, 15:44:55 »
con la configurazione da te linkata (in cui cambia solo il text value, dal nome campo al "title") vedo un elenco vuoto nel dropdown :(


hai valorizzato correttamente il campo MODEL ID nel "DB READ" e inserito uguale nello stesso campo dropdown ?!

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #14 il: 03 Nov 2016, 17:12:51 »

hai valorizzato correttamente il campo MODEL ID nel "DB READ" e inserito uguale nello stesso campo dropdown ?!
si certo, avevo inserito gli stessi valori in model id del dbread e del dropdown in dynamic data

ho scoperto e notato che se disattivo il modelID nel dbread, compaiono automaticamente tutti i valori del database nel form di modifica (tranne il dropdown che non vuole prendere  il valore del db ma il primo del dropdown)

io veramente penso di stare impazzendo dietro questi dropdown :(

e con il modelID attivato e il multi read attivato il debug fa vedere che il form carica in sequenza tutti i record con relativi dati, e non solo il record selezionato per la modifca

arrivato a questo punto mi sto confondendo
« Ultima modifica: 03 Nov 2016, 17:22:47 da Ago_ »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #15 il: 04 Nov 2016, 12:47:12 »
in db read devi definere il campo conditions che penso nel tuo caso dovrebbe essere qualcosa di simile a questo

Codice: [Seleziona]
<?php
return array('model.id' => $form->data['gcb']);
?>

dove gcb dovrebbe essere il parametro che chonoconnectivity mette nell'url che chiama il form
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:come riempire le caselle dropdown con i valori del database
« Risposta #16 il: 04 Nov 2016, 17:07:56 »
in db read devi definere il campo conditions che penso nel tuo caso dovrebbe essere qualcosa di simile a questo

Codice: [Seleziona]
<?php
return array('model.id' => $form->data['gcb']);
?>

dove gcb dovrebbe essere il parametro che chonoconnectivity mette nell'url che chiama il form

con questa condizione mi salta tutto, da errore 1054

in ogni caso ho riletto questo topic
http://forum.joomla.it/index.php/topic,234180.0.html
che nei contenuti richiama questa guida del forum ufficiale
https://www.chronoengine.com/faqs/72-ccv5/5208-connectivity-edit-with-chronoforms.html

ho inserito il connection compilandolo con il nome dell'azione CC e la dicitura save...ma non riesco a far funzionare il tutto, solo disattivando il model id il forum, mi richiama i dati del record che apro (che poi anche effettuando delle modifiche non mi effettua il salvataggio correttamente)...secondo me sbaglio nel richiamare l'id inizialmente con l'array (come spiega la guida) e quindi non riesce a lavorare correttamente sul record (ho anche modificato i titoli dei campi in designer come spiega la guida, insomma tutto)

---edit
ho trovato questo link, magari piu tardi lo leggo, ora sto troppo fuso per sbatterci ancora la testa (anche se mi sembra una modifica nella schermata index di CC, però essendo dropdown potrebbe servire qualcosa)
https://www.chronoengine.com/forums/posts/f12/t100769.html?hilit=dropdown&page=2
« Ultima modifica: 04 Nov 2016, 17:28:05 da Ago_ »

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:come riempire le caselle dropdown con i valori del database
« Risposta #17 il: 10 Nov 2016, 09:37:12 »
ciao ragazzi, ho risolto il problema, la soluzione è molto più semplice di quella che si pensava (testata da me qualche settimana fa, ma non so per quale strano motivo non aveva funzionato).

In poche parole per modificare su CC un dropdown o radio box con i dati prelevati dal database ho fatto le seguenti procedure

* copiare da CF5 il codice relativo al dropdown
* incollarlo nella sezione edit del form di CC modificando solo la parte "name=nomedropdown" modificando in name=[ModelTitle]nomedropdown"

incollo il mio esempio finale di codice

Codice: [Seleziona]
<div class="form-group gcore-form-row" id="form-row-soluzione"><label for="soluzione" class="control-label gcore-label-left">Soluzione</label>
<div class="gcore-input gcore-display-table" id="fin-soluzione"><select name="gestione[soluzione]" id="soluzione" size="" class="form-control A" title="" style="" data-load-state="hidden_parent" data-tooltip="">
<option value=""></option>
<option value="riparazione">riparazione</option>
<option value="ritiro">ritiro</option>
<option value="sconto commerciale">sconto commerciale</option>
</select></div></div>

spero che questa soluzione aiuti qualche utente

 



Web Design Bolzano Kreatif