Back to top

Autore Topic: [RISOLTO] caricamento dati in base a scelta dropdown  (Letto 11743 volte)

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Salve a tutti.
Dopo aver cercato di utilizzare un po chronoform per capire come creare, salvare i dati e richiamarli da un db (cosa che sono riuscita a fare grazie le guide di vales) è da un paio di giorni che sto sbattendo la testa su questa cosa...devo richiamare i dati i base alla scelta fatta in una dropdown.
Ho creato il mio form con la sola scelta della dropdown con il codice seguente:


Codice: [Seleziona]
<?php
 
$nome_selected 
JRequest::getInt('rna''''post');
$db =& JFactory::getDBO();
 
$query "
 
SELECT `cf_id`,`rna`, `cognome`,`nome`,`tel`,`indirizzo`,`cap`,`citta`,`associazione`
 FROM `#__chronoforms_data_anagrafica_clienti2`
 ORDER BY `rna`
"
;
$db->setQuery($query);
$nomes $db->loadAssocList();
$nome_options "";
foreach ( 
$nomes as $v ) {
 if ( 
$nome_selected == $v['rna'] ) {
 
$selected "selected='selected'";
 } else {
 
$selected '';
 }
 
 
$nome_options .= "<option value='".$v['cf_id']."' $selected >".$v['rna']."</option>";
 
}
?>


<div class="ccms_form_element cfdiv_header" id="autoID-f48b6667d0633c7f5dd6842155de6be2_container_div"><h1>Selezionare il codice RNA</h1><div class="clear"><><><div class="ccms_form_element cfdiv_select" id="autoID-b36b6b74cdfc543650f6ea3f025a544f_container_div"><label>RNA</label><select size="1" class="" title="" name="select_rna">
<?php echo $nome_options?>
</select>
<div class="clear"><><div id="error-message-rna"><><><div class="ccms_form_element cfdiv_submit" id="autoID-54ef0a7422d84cdffe87010d21387398_container_div"><input name="ok" class="" value="Ok" type="submit" />
&nbsp;<input type='reset' name='reset' value='Reset' /><div class="clear"><><div id="error-message-ok"><><>


e fin qui riesco a caricare nella dropdown; ho creato poi un secondo form all'interno del quale devo far visualizzare i dati in corrispondenza del codice selezionato in precedenza...e questo è il codice...solo che nn mi carica i corrispettivi dati...dove sbaglio che nn riesco a capire?


Codice: [Seleziona]
<p><?php
$db 
=& JFactory::getDBO();
$query "
 SELECT  cf_id,rna,cognome,nome,tel,indirizzo,cap,citta,associazione
 FROM `#__chronoforms_data_anagrafica_clienti2` WHERE `rna` ="
.$posted['select_rna'];
 
$db->setQuery($query);
$nomes $db->loadAssocList();
 
foreach (
$nomes as $v) {
 
$cf_id1=$v['cf_id'];   
 
$rna1=$v['rna'];
 
$cognome1 $v['cognome'];
 
$nome1 $v['nome'];
 
$tel1 $v['tel'];
 
$indirizzo1 $v['indirizzo'];
 
$cap1 $v['cap'];
 
$citta1 $v['citta'];
 
$associazione1 $v['associazione'];
}
?>
</p>






<div class="ccms_form_element cfdiv_header" id="autoID-f65eac7559464f1273560644cb0b8ebe_container_div"><h1>Dati Allevatore</h1><div class="clear"><><><div class="ccms_form_element cfdiv_text" id="autoID-d8beb1c9c0c94e465bb0b56115e90eda_container_div">
<label>RNA</label><input maxlength="150" size="30" class="" title="" type="text" value="<?php echo $rna1?>" name="rna" />
<div class="small-message"><><div class="clear"><><div id="error-message-rna"><><><div class="ccms_form_element cfdiv_text" id="autoID-52d4e7a4b3a4d1d394b482b08796fcdf_container_div"><label>Cognome</label><input maxlength="150" size="30" class="" title="" type="text" value="<?php echo $cognome1?>" name="cognome" />
<div class="clear"><><div id="error-message-cognome"><><><div class="ccms_form_element cfdiv_text" id="autoID-6b52f6ac40cd006e831c8df7c7a84033_container_div"><label>Nome</label><input maxlength="150" size="30" class="" title="" type="text" value="<?php echo $nome1?>" name="nome" />
<div class="clear"><><div id="error-message-nome"><><><div class="ccms_form_element cfdiv_text" id="autoID-ca81cb57d6a2f0b532ecdedc5f359eb4_container_div"><label>Telefono</label><input maxlength="150" size="30" class=" validate['number']" title="" type="text" value="<?php echo $tel1?>" name="tel" />
<div class="clear"><><div id="error-message-tel"><><><div class="ccms_form_element cfdiv_text" id="autoID-e68ec4513bc2587bd79ce8487cc04b0b_container_div"><label>Indirizzo</label><input maxlength="150" size="30" class="" title="" type="text" value="<?php echo $indirizzo1?>" name="indirizzo" />
<div class="clear"><><div id="error-message-indirizzo"><><><div class="ccms_form_element cfdiv_text" id="autoID-de6891a973aa33ac4fbd39da991aa5ff_container_div"><label>CAP</label><input maxlength="150" size="30" class=" validate['number']" title="" type="text" value="<?php echo $cap1?>" name="cap" />
<div class="clear"><><div id="error-message-cap"><><><div class="ccms_form_element cfdiv_text" id="autoID-3025030b63e1c25a619dfa11b643d361_container_div"><label>Città</label><input maxlength="150" size="30" class="" title="" type="text" value="<?php echo $citta1?>" name="citta" />
<div class="clear"><><div id="error-message-citta"><><><div class="ccms_form_element cfdiv_text" id="autoID-bb9cb3f3375e6172e78a639a5e3c3fdd_container_div"><label>Associazione</label><input maxlength="150" size="30" class="" title="" type="text" value="<?php echo $associazione1?>" name="associazione" />
<div class="clear"><><div id="error-message-associazione"><><><div class="ccms_form_element cfdiv_submit" id="autoID-6e9f4310e7a2098fb12c12a371f934d5_container_div"><input name="conferma" class="" value="Conferma" type="submit" />
&nbsp;<input type='reset' name='reset' value='Reset' /><div class="clear"><><div id="error-message-conferma"><><>




dimenticavo al momento del click sul pulsante di conferma della scelta mi si apre si il secondo form ma mi viene scritto in alto questo:


Codice: [Seleziona]
Warning: Invalid argument supplied for foreach() inC:\xampp\htdocs\cadorago\administrator\components\com_chronoforms\form_actions\show_html\cfaction_show_html.php(136) : eval()'d code on line 10
« Ultima modifica: 26 Mag 2012, 13:46:19 da sara79t »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #1 il: 10 Mag 2012, 18:35:15 »
Quale versione di chronoforms e joomla stai usando ?

Come stai chiamando il secondo 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 sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #2 il: 10 Mag 2012, 18:37:44 »

[size=78%]joomla 2.5.4 e chronoforms v4 RC3.3[/size][size=78%] il secondo form si chiama prova2 mentre il primo prova1[/size]

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #3 il: 10 Mag 2012, 20:46:02 »
Forse non mi sono spiegato, per chiamata del secondo form non intendevo il nome del form ma con quale metodo passi dal primo al secondo es. un link su qualche testo nel primo.

E' poi importante conoscere la versione di chronoforms e joomla.
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 sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #4 il: 10 Mag 2012, 21:32:56 »
si effettivamente hai ragione...poi di solito scrivo sempre la versione di joomla e delle estensioni..
dunque..dal primo al secondo ci passo con il pulsante di ok..ho provato sia a fare un pulsante personalizzato inserendo il codice


Codice: [Seleziona]
<div class="ccms_form_element" id="input_cont_av">
<a href="index.php?option=com_chronoforms&chronoform=prova2">
<input name="input_avanti" class="" value="Avanti" type="button" />
</a>
<div class="clear"><><>


che inserendo negli eventi il redirect user con il link al form..ma non va cmq...a questo punto mi sorge un dubbio..nel link oltre al nome del form nn devo passargli il parametro che ho scelto? in questo caso il contenuto della dropdown..che nella fattispecie sta dentro a select_rna?

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #5 il: 10 Mag 2012, 21:45:33 »
Il problema è proprio che non passi il parametro.

Questo lo potresti fare con del javascript oppure con un rinvio al form2 dopo il submit del form1
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 sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #6 il: 10 Mag 2012, 21:52:31 »
immaginavo...sfido che il foreach si arrabbia...
ma come faccio a passargli il valore che sta dentro la dropdown?è meglio tramite jscript o direttamente tramite il link?

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #7 il: 11 Mag 2012, 09:45:02 »
per fare quello che dovrei credo di dover usare un multipage...perchè alla fine prendo dati da due tabelle in base alle scelte con dropdown, inserisco qualche nuovo dato e poi devo memorizzare tutto in una nuova tabella

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #8 il: 11 Mag 2012, 19:42:29 »
forse ho capito perchè mi da errore...quando io passo da un form all'altro non mi copia effettivamente quello che sta dentro  la dropdown ma il numero della scelta...quindi se io avessi inserito come codice per la ricerca


- AB
- BC
- CD


e scegliessi BC dalla dropdown non passa al form BC ma 2 al quale corrisponde la scelta BC...come faccio a far passare effettivamente il valore che io scelgo?..forse è piu semplice se metto una casella di testo classica?

Offline micalb

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #9 il: 15 Mag 2012, 17:59:39 »
facendo la dropdown come
AB=AB
BC=BC
DB=DB
al posto di
1=AB
2=BC
....


o è troppo semplice ?


Michele

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #10 il: 15 Mag 2012, 18:35:32 »
i dati li prendo direttamente da DB e sono alfanumerici

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #11 il: 16 Mag 2012, 17:45:21 »
non so proprio come ovviare al problema..son ancora ferma al solito punto dopo aver fatto e rifatto mille volte le cose

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #12 il: 16 Mag 2012, 20:08:29 »
una dropdown è composta da due tag html select e option

le option sono tante quante le scelte che vuoi gestire e contengono il testo visualizzato ed il valore che il form passerà in caso di scelta.

Codice: [Seleziona]
<option value="valore_scelta1">Scelta1</option>
 <option value="valore_scelta2">Scelta2</option>
<option value="valore_scelta3">Scelta3</option>

Controlla la modalità con cui assegni i valori dal DB. Basta visualizzare il sorgente della pagina.

Chronoforms v4 ha anche una funzionalità che permette di popolare la drop in automatico da una tabella di DB chiamata Dynamic data

« Ultima modifica: 16 Mag 2012, 20:13:31 da vales »
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 sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #13 il: 16 Mag 2012, 20:37:20 »
dunque...caricando le option da DB io ho aggiunto questa riga di codice per farmi vedere la lista delle opzioni
<?php echo $nome_options; ?> il tutto previa creazione della lista da DB...anche perchè essendo tanti iscritti..scrivere una lista di + di 200 iscritti uno per uno è poco pratico
« Ultima modifica: 16 Mag 2012, 20:41:24 da sara79t »

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #14 il: 16 Mag 2012, 21:40:39 »
per realizzare la dropdown in questione ho preso spunto dalla guida di vales per il form multipage..la dropdown me la popola...solo che poi nn so come dirgli "in base al codice che è stato scelto caricami i relativi dati nel form2"


a questo punto come passo il valore della mia dropdown?
« Ultima modifica: 16 Mag 2012, 22:40:56 da sara79t »

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:caricamento dati in base a scelta dropdown
« Risposta #15 il: 17 Mag 2012, 17:34:47 »
forse c'è un risvolto positivo...ho provato a fare un form multi-page...e pare andare il tutto..anche se è soltanto l'inizio del lavoro...intanto riesco a selezionare da DB i codici e a caricare i relativi dati...ora manca la parte dei ""prodotti"" e dei calcoli..e tutto da memorizzare dentro una mega tabella "iscrizioni"

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #16 il: 26 Mag 2012, 13:48:52 »
mi sono incaponita per la soluzione con i due form separati ed ho risolto inserendo un "Data to session" nelle  action del primo form ed un "session to data" in quelle del secondo form. Ovviamente la session key deve essere la stessa.

Offline antonelloponziani

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #17 il: 15 Giu 2012, 06:52:39 »
Io sto impazzendo da molto tempo a far passare questa scelta della dropdown mi da sempre lo stesso errore
 [font=]Warning[/font][font=]: Invalid argument supplied for foreach() in /home/progettocasa2011.it/public_html/joomla/administrator/components/com_chronoforms/form_actions/show_html/cfaction_show_html.php(136) : eval()'d code on line 10[/font]
[font=]non ho capito come hai settato data to session e session to data premetto che uso joomla 2.5 e chronoforms v4 rc3.3[/font]
[font=]grazie[/font]
 

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #18 il: 15 Giu 2012, 08:29:59 »
bisognerebbe sapere un po + di cose...tipo i dati da dove li prendi...se li inserisci tu o da DB e magari avere il codice dei form che usi

Offline antonelloponziani

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #19 il: 15 Giu 2012, 14:24:51 »
Si i dati li prendo da una tabella che ha due campi categoria e coefficente più quelli che ti genera create table, nel primo form ho una casella combinata che prende i dati da questa tabella e mi passa al secondo form il value (coefficente) della stessa, ma vorrei passare anche la option scelta che sarebbe (categoria)
primo form
Codice: [Seleziona]
<?php
$nome_selected 
JRequest::getInt('categoria''''post');
$db =& JFactory::getDBO();
 
$query "
 
SELECT `cf_id`,`categoria`,`coefficente`
 FROM `fl0ma_chronoforms_data_categorie`
 ORDER BY `categoria`
"
;
$db->setQuery($query);
$nomes $db->loadAssocList();
$nome_options "";
foreach ( 
$nomes as $v ) {
 if ( 
$nome_selected == $v['categoria'] ) {
 
$selected 'selected="selected"';
 } else {
 
$selected '';
 }
 
$nome_options .= "<option value='".$v['coefficente']."' Cat-A (escluso A10) Abitazioni >".$v['categoria']."</option>";
 
}

?>


<div class="ccms_form_element cfdiv_select" id="tipologia_immobile_container_div"><label for="tipologia_immobile">Tipologia Immobile</label><select size="1"  id="tipologia_immobile" title="" name="drop">
<?php echo $nome_options?>
</select>

<div class="clear"></div><div id="error-message-tipologia_immobile"></div></div>

classico pulsante submit e nella action ho messo show form che mi apre il secondo form mi va tutto bene mi passa i vari campi del primo form e anche il value della casella combinata ma non la scelta della categoria
secondo form
Codice: [Seleziona]
<?php
$db 
=& JFactory::getDBO();
$query "
 SELECT cf_id, categoria, coefficente
 FROM `fl0ma_chronoforms_data_categorie` WHERE `cf_id` ="
.$posted['drop'];
 
$db->setQuery($query);
$nomes $db->loadAssocList();
 
foreach ( 
$nomes as $v ) {
 
$categoria1 $v['categoria'];
 
$coefficente1 =  $v['coefficente'];
 
}
?>

<td height="30"><input type="text" name="categoria" id="categoria"  size="17" value="<?php echo $categoria1?>"
</td>
spero di essere stato un po più chiaro
grazie per la risposta

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #20 il: 16 Giu 2012, 17:08:19 »
Ci sono dei problemi di sintassi nella option del primo codice che ha Cat-A (escluso A10) Abitazioni

che non ha significato

e nella input del secondo codice dove la input non è chiusa correttamente.
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 sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #21 il: 16 Giu 2012, 17:27:43 »
concordo con vales...grandissimo come sempre...

Offline antonelloponziani

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #22 il: 16 Giu 2012, 18:21:01 »
grazie ho corretto l'errore di sintassi e ho chiuso le input ma il problema rimane nel secondo form mi passano tutti i valori del primo, ma io vorrei passare oltre al value della dropdown anche la option scelta.
questo è l'errore:
Warning:  Invalid argument supplied for foreach() in /home/progettocasa2011.it/public_html/joomla/administrator/components/com_chronoforms/form_actions/show_html/cfaction_show_html.php(136) : eval()'d code on line 13

 

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #23 il: 16 Giu 2012, 18:36:28 »
potrebbe essere che effettivamente non passi il valore al foreach ..ma nn vorrei dire una cavolata..
la variabile .$posted['drop'] potrebbe risultare vuota...dovresti provare a vedere utilizzando un action debugger se il l'array che ti mette a disposizione chronoform è vuoto o meno..
« Ultima modifica: 16 Giu 2012, 18:39:24 da sara79t »

Offline antonelloponziani

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #24 il: 16 Giu 2012, 19:02:08 »
si effettivamente è vuota come posso passare questo valore?
grazie delle risposte

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #25 il: 16 Giu 2012, 19:15:26 »

al posto di .$posted['drop']
metterei cosi

Codice: [Seleziona]
$val = JRequest::getInt('nome_drop', '', 'post');

e poi


Codice: [Seleziona]
$query = "
 SELECT cf_id, categoria, coefficente
 FROM `fl0ma_chronoforms_data_categorie` WHERE `cf_id` =".$val;


poi se vuoi usare le sessioni per portarti le variabili tra i form devi mettere il Data to session nell'action "onSubmit" del primo form e session to data nell'action "onLoad" dell'altro / altri...ovviamente il valore da portarti devi memorizzarlo in una variabile di sessione che poi richiamerai  dove ti serve... però ripeto..io ho risolto in questa maniera...ma magari nn è nemmeno il metodo corretto..

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #26 il: 16 Giu 2012, 20:19:52 »
Attiva il debug nei form e vedi i valori passati.
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 antonelloponziani

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Re: [RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #27 il: 17 Giu 2012, 08:05:43 »
Finalmente sono riuscito grazie al vostro aiuto debugger molto utile, ho modificato la dropdown del primo form  ho dato come value il cf_id della tabella categorie
Codice: [Seleziona]
$nome_options .= "<option value='".$v['cf_id']."'  >".$v['categoria']."</option>";
e nel secondo form con questo codice
Codice: [Seleziona]
<?php
$val 
JRequest::getInt('drop''''post');
$db =& JFactory::getDBO();
$query "
 SELECT cf_id, categoria, coefficente
 FROM `fl0ma_chronoforms_data_categorie` WHERE `cf_id` = "
.$val;
 
 
$db->setQuery($query);
$nomes $db->loadAssocList();
 
foreach ( 
$nomes as $v ) {
 
$categoria1 $v['categoria'];
 
$coefficente1 =  $v['coefficente'];
 
}
?>


 
grazie a Vales e Sara79t

Offline sara79t

  • Nuovo arrivato
  • *
  • Post: 48
    • Mostra profilo
Re:[RISOLTO] caricamento dati in base a scelta dropdown
« Risposta #28 il: 17 Giu 2012, 09:23:49 »
fa piacere che hai risolto

 



Web Design Bolzano Kreatif