Back to top

Autore Topic: [Risolto] drop down province-comuni  (Letto 16891 volte)

Offline Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
[Risolto] drop down province-comuni
« il: 03 Ott 2011, 13:01:21 »
Salve, ho visto che l'argomento è stato trattato più volte, anche di recente.. ho ripreso un codice inserito da Vales tempo fa che faceva proprio al caso mio ma mi dà un errore:

Parse error: syntax error, unexpected T_STRING in /var/www/vhosts/marketingstrategy.it/httpdocs/administrator/components/com_chronoforms/form_actions/show_html/cfaction_show_html.php(102) : eval()'d code on line 17
 
Il codice di cui parlo e di cui ho bisogno è quello che prende i dati da database.
Come dice nel post ho cambiato i nomi del form e delle tabelle ma non so se l'ho fatto correttamente. Inserisco il codice così potete dare uno sguardo.
 
HTML:
Codice: [Seleziona]

 <?php
$db 
=& JFactory::getDBO(); 
$query "
  SELECT  `id`, `regione`
   FROM `regioni` ORDER BY `regione`"

$db->setQuery($query);
$nomes $db->loadAssocList();
$option_reg="";
  foreach ( 
$nomes as $v ) {
  
$selected="";
  
$id =  $v['id'];
  
$regione $v['regione'];
  if (
$id==JRequest::getVar('regione',0,'GET','INT')) {
  
$selected="selected="selected"";
  }
$option_reg.="<option value="$id$selected>$regione</option>n";
}

$query "
  SELECT  `id`, `provincia`
   FROM `province` WHERE `id_regione`="
.JRequest::getVar('regione',0,'GET','INT')." ORDER BY `provincia`"
$db->setQuery($query);
$nomes $db->loadAssocList();
$option_pro="";
  foreach ( 
$nomes as $v ) {
  
$selected="";
  
$id =  $v['id'];
  
$province $v['provincia'];
  if (
$id==JRequest::getVar('provincia',0,'GET','INT')) {
  
$selected="selected='selected'";
  }
$option_pro.="<option value="$id$selected>$province</option>n";
}

$query "
  SELECT  `id`, `comune`
   FROM `comuni` WHERE `id_provincia`="
.JRequest::getVar('provincia',0,'GET','INT')." ORDER BY `comune`"
$db->setQuery($query);
$nomes $db->loadAssocList();
$option_com="";
  foreach ( 
$nomes as $v ) {
  
$id =  $v['id'];
  
$comune $v['comune'];
$option_com.="<option value="$id$selected>$comune</option>n";
}
?>


<!-- inizio codice campi form -->
<div style=" border: 1px solid; margin-left:-50px; margin-top: 20px; position: absolute;">
<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Regioni</label>
           
<select id="regione" name="regione"  onchange="province(this.form);" class="cf_inputbox validate-selection" ><option value="" selected="selected">Seleziona</option>
<?php echo $option_reg?>
</select>
 </div>   
    </div>
  <div class="cfclear">&nbsp;</div>
</div>
<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Provincie</label>
       <select id="provincia" name="provincia" onchange="reload(this.form);" class="cf_inputbox validate-selection" ><option value="" selected="selected">Seleziona</option>
<?php echo $option_pro?>
       
</select>
       
 </div>   
    </div>
  <div class="cfclear">&nbsp;</div>
</div>
<div class="form_item">
       <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Comuni</label>
       <select id="comune" name="comune" class="cf_inputbox validate-selection" ><option value="" selected="selected">Seleziona</option>
<?php echo $option_com?>
       
</select>
       
 </div>   
    </div>
  <div class="cfclear">&nbsp;</div>
</div>
</div>

JS:
Codice: [Seleziona]

 function province(form)
{
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&chronoformname=reg_prov_com&Regione=' + reg ;
}
function reload(form)
{
var prov=form.provincia.options[form.provincia.options.selectedIndex].value;
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&chronoformname=reg_prov_com&provincia=' + prov + '&Regione=' + reg;
}
 

Il mio form si chiama prova e le tabelle si chiamano regioni, province, comuni (senza prefisso).
 
Grazie,  :)
 
Francesco
« Ultima modifica: 10 Nov 2011, 00:54:12 da vales »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #1 il: 03 Ott 2011, 19:06:08 »
Riga 17 il concatenamento delle variabili alle costanti non è corretto.

Codice: [Seleziona]
$option_reg.="<option value=".$id." ". $selected.">".$regione."</option>\n";
lo stesso problema si porrà poi nelle righe

di $option_pro e $option_com
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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #2 il: 10 Ott 2011, 12:19:48 »
Ciao Vales,  :) 
grazie per l'aiuto ma non è servito a molto. Ho apportato quella modifica alle 3 righe ma ho sempre lo stesso errore e sempre alla riga 17.
Una cosa che ho notato è che alla fine dove c'è
Codice: [Seleziona]
."</option>\n";ogni volta che faccio applica nell'editor di chrnoform mi toglie "\" e mi lascia n... cosa che credo sia errata quindi l'ho tolto direttamente..al limite non mi va a capo.. ma non è quello il problema...
 
Trovato il problema.. Credo che mi elimini proprio i backslash  :o  ora che guardo bene.. non ce n'è rimasto uno..  Come posso risolvere?
« Ultima modifica: 10 Ott 2011, 12:46:59 da Franceschino »

Offline Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #3 il: 10 Ott 2011, 13:22:51 »
Credo di aver risolto quel problema..ora ne ho un altro alla riga 12 che credo sia questa:
Codice: [Seleziona]

   $selected="selected='selected'";
e si ripete anche alle righe 32 e 52.
Uff..  :(

Offline Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #4 il: 28 Ott 2011, 18:28:38 »
ok, credo di aver capito..il problema sta nel file js...quando incontra questa stringa :
Codice: [Seleziona]

self.location='index.php?option=com_chronocontact&chronoformname=reg_prov_com&regione=' + reg ;
quando incontra com&regione prende &reg come carattere speciale  :-\
Io nell'editor di chronoform infatti vedo il carattere speciale.
E lo stesso alla medesima riga della seconda funzione:
Codice: [Seleziona]

self.location='index.php?option=com_chronocontact&chronoformname=reg_prov_com&provincia=' + prov + '&regione=' + reg;

Un'altra domanda...sempre nel js quando dici form.regione.options devo lasciare così o devo sostituire form con il nome del form?
Spero di risolvere sta cosa una volta per tutta che sono mesi che me la porto dietro.
Grazie,
 
Francesco

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #5 il: 28 Ott 2011, 18:48:36 »
No, form va bene in quel modo.

Devi sostituire solo chronoformname.
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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #6 il: 28 Ott 2011, 19:24:42 »
fatto... ma non cambia nulla. Se vuoi dare uno sguardo questo è quello che si vede:
http://www.marketingstrategy.it/prova
 
Per la questione del carattere speciale non ha importanza dici?
« Ultima modifica: 28 Ott 2011, 19:26:24 da Franceschino »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #7 il: 28 Ott 2011, 19:39:21 »
Ho perso il filo puoi ripostare tutti i codice che stai usando ?
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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #8 il: 31 Ott 2011, 10:34:27 »
Bongiorno!Certo... eccolo qui.
HTML:
Codice: [Seleziona]

 <?php
$db 
=& JFactory::getDBO(); 
$query "
  SELECT  'id', 'regione'
   FROM 'regioni' ORDER BY 'regione'"

$db->setQuery($query);
$nomes $db->loadAssocList();
$option_reg="";
  foreach ( 
$nomes as $v ) {
  
$selected="";
  
$id =  $v['id'];
  
$regione $v['regione'];
  if (
$id==JRequest::getVar('regione',0,'GET','INT')) {
    
$selected="selected='selected'";
  }
$option_reg.="<option value='$id$selected>$regione</option>";
}

$query "
  SELECT  'id', 'provincia'
   FROM 'province' WHERE 'id_regione'="
.JRequest::getVar('regione',0,'GET','INT')." ORDER BY 'provincia'"
$db->setQuery($query);
$nomes $db->loadAssocList();
$option_pro="";
  foreach ( 
$nomes as $v ) {
  
$selected="";
  
$id =  $v['id'];
  
$province $v['provincia'];
  if (
$id==JRequest::getVar('provincia',0,'GET','INT')) {
    
$selected="selected='selected'";
  }
$option_pro.="<option value='$id$selected>$province</option>";
}

$query "
  SELECT  'id', 'comune'
   FROM 'comuni' WHERE 'id_provincia'="
.JRequest::getVar('provincia',0,'GET','INT')." ORDER BY 'comune'"
$db->setQuery($query);
$nomes $db->loadAssocList();
$option_com="";
  foreach ( 
$nomes as $v ) {
  
$id =  $v['id'];
  
$comune $v['comune'];
$option_com.="<option value='$id$selected>$comune</option>";
}
?>


<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Regioni</label>
           
<select id="regione" name="regione"  onchange="province(this.form);" class="cf_inputbox validate-selection"  ><option value="" selected="selected">Seleziona</option>
<?php echo $option_reg?>
</select>
 </div>   
    </div>
  <div class="cfclear">&nbsp;</div>
</div>
<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Provincie</label>
       <select id="provincia" name="provincia" onchange="reload(this.form);" class="cf_inputbox validate-selection" ><option value="" selected="selected">Seleziona</option>
<?php echo $option_pro?>
       
</select>
       
 </div>   
    </div>
  <div class="cfclear">&nbsp;</div>
</div>
<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Comuni</label>
       <select id="comune" name="comune" class="cf_inputbox validate-selection" ><option value="" selected="selected">Seleziona</option>
<?php echo $option_com?>
       
</select>
       
 </div>   
    </div>
  <div class="cfclear">&nbsp;</div>
</div>

JS:
Codice: [Seleziona]

 function province(form)
{
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&prova=reg_prov_com®ione=' + reg ;
}
function reload(form)
{
var prov=form.provincia.options[form.provincia.options.selectedIndex].value;
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&prova=reg_prov_com&provincia=' + prov + '®ione=' + reg;
}
qui come vedi c'è il simbolo che ti dicevo che corrisponde a &reg..
Invece nel codice html rispetto al tuo codice ho sostituito in alcune righe i doppi apici con l'apice singolo perchè dava errore :
Codice: [Seleziona]
$selected="selected='selected'";

 
Grazie mille!!
 
Francesco

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #9 il: 01 Nov 2011, 10:35:06 »
Mi sembra di aver capito che lavori con anche chronoforms v4, hai dei warning nella home page e si vede da li, ma non ho individuato la versione di joomla.
Se sei con la 1.5 occorre che il plugin Update mootools sia attivato con la v4 e disabilitato con la v3.

Comunque aldilà di quanto sopra prova a sostituire negli script & con &amp;

Non capisco il motivo di quella interpretazione nelle mie prove non è mai accaduto.


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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #10 il: 04 Nov 2011, 11:08:59 »
Ciao  :)
allora per rispondere alla tua domanda, sì sto utilizzando cf 4 rc2. La versione di joomla è la 1.5.23 e il mootools è attivato. I form nel sito mi funzionano normalmente, ho qualche problema con il doppio form nella stessa pagina ma questo è un altro discorso.
Ho provato a sostituire & con &amp; come hai detto tu e sembra che quella interpretazione in queste prove che sto facendo non la stia dando più. Sono anche spariti i warning ma le dropdown non si popolano. C'è solo "seleziona" in tutte e 3.
Ma le sostituzioni di " con ' che ho fatto in quelle righe di codice che ti dicevo nell'altro post sono corrette?
 
Grazie mille,
 
Francesco

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #11 il: 04 Nov 2011, 16:48:57 »
Ma le sostituzioni di " con ' che ho fatto in quelle righe di codice che ti dicevo nell'altro post sono corrette?
 Grazie mille,
 
Francesco


No, se ha scritto così
Codice: [Seleziona]
$selected='selected='selected'';

Non va bene.

Prova così
Codice: [Seleziona]
$selected="selected=\"selected\"";

Comunque non è normale che quel server non interpetri caratteri che sono universalmente accettati e usati in tutti i manuali php e HTML. Fa qualche controllo con l'hosting.
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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #12 il: 04 Nov 2011, 17:14:24 »
corretto come mi hai detto ma non cambia nulla..continuano a rimanere vuote le dropdown  :(

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #13 il: 04 Nov 2011, 18:15:57 »
Infatti questo non va bene, ma mi sembra s'era già visto.

Codice: [Seleziona]
$option_reg.="<option value='$id' $selected>$regione</option>";
dovrebbe essere così:
Codice: [Seleziona]
$option_reg.="<option value=\"$id\" $selected>".$regione."</option>";
ho corretto anche l'apice singolo come nel post precedente.

Stessa cosa anche per province e comuni
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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #14 il: 05 Nov 2011, 16:04:25 »
Ho corretto anche questo ma continua a non funzionare.. Ma perchè a tutti sì e a me no?!  >:(

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #15 il: 06 Nov 2011, 12:39:22 »
Qui c'era qualcosa copiato male.

Codice: [Seleziona]

 function province(form)
{
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&prova=reg_prov_com®ione=' + reg ;
}
function reload(form)
{
var prov=form.provincia.options[form.provincia.options.selectedIndex].value;
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&prova=reg_prov_com&provincia=' + prov + '®ione=' + reg;
}

dovrebbe essere così

Codice: [Seleziona]

 function province(form)
{
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&chronoformname=prova&amp;regione=' + reg ;
}
function reload(form)
{
var prov=form.provincia.options[form.provincia.options.selectedIndex].value;
var reg=form.regione.options[form.regione.options.selectedIndex].value;
self.location='index.php?option=com_chronocontact&chronoformname=prova&provincia=' + prov + '&amp;regione=' + reg;
}
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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #16 il: 07 Nov 2011, 10:19:07 »
hai ragione avevo sbagliato a sostituire il nome del form...ora ho corretto anche questo ma stiamo sempre allo stesso punto..  :o
Non è che vuoi l'accesso gli dai uno sguardo tu direttamente?
ps. Ho provato ad accedere al db dal parallels plesk ma mi dice account sospeso. Ho contattato il gestore dell'host.. ma fosse che non riesce a prendere i dati dal db?o non c'entra nulla?
Non so più che pensare  :-\

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #17 il: 07 Nov 2011, 15:49:39 »
Se non funziona il database non funziona joomla non credo sia quello.

Ho controllato il codice e ci sono altri errori.

Questo e le altre select non vanno bene

Codice: [Seleziona]
$query = "
  SELECT  'id', 'provincia'
   FROM 'province' WHERE 'id_regione'=".JRequest::getVar('regione',0,'GET','INT')." ORDER BY 'provincia'";

per i campi del database non si usano gli apici ma questi inclinati

Codice: [Seleziona]
$query = "
  SELECT  `id`, `provincia`
   FROM `province` WHERE `id_regione`=".JRequest::getVar('regione',0,'GET','INT')." ORDER BY `provincia`";
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 Franceschino

  • Appassionato
  • ***
  • Post: 429
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #18 il: 07 Nov 2011, 16:21:42 »
 :-[  li avevo cambiati io pensando che fosse lo stesso carattere ma lo avesse incollato in quel modo perchè era diverso nell'editor di questo forum. Ora finalmente la prima dropdown si popola ma poi va a ricaricare la pagina e dà errore. Come mai?
 
Grazie mille per la tua disponibilità!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:drop down province-comuni
« Risposta #19 il: 07 Nov 2011, 16:34:57 »
Penso che tu abbia messo il form dentro un articolo e non concordano i link richiamati.
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

 



Web Design Bolzano Kreatif