Back to top

Autore Topic: Correzione automatica giorni di un mese in un form  (Letto 2051 volte)

Offline van84

  • Esploratore
  • **
  • Post: 178
    • Mostra profilo
Correzione automatica giorni di un mese in un form
« il: 04 Lug 2010, 18:11:07 »
Oi ciao ragazzi, non so come fare per sistemare questa cosa, spero possiate darmi na mano: ho creato un form che contiene tre campi select per selezionare giorno, mese e anno e l'ho impostato in modo che parta sempre dalla data del giorno dopo a quello odierno (questa costruzione grammaticale non mi convince..!! :o); funziona tutto perfettamente, l'unico problema che ho è che ho impostato il campo dei giorni con valori fino a 31, e vorrei quindi sapere come posso procedere per far si che per i mesi che hanno meno giorni il campo dei giorni mostri la scelta solo fino al 30 o al 28 appunto.
Spero di essermi spiegato chiaramente!
Qualcuno sa come posso fare? Ciao

Offline andfritz

  • Esploratore
  • **
  • Post: 174
    • Mostra profilo
Re:Correzione automatica giorni di un mese in un form
« Risposta #1 il: 07 Lug 2010, 12:41:50 »
potresti creare 4 drop down che terminano con 28 29 30 31 e in base alla scelta del mese visualizzi il drop_giorni. Ricorda di impostare il controllo di febbraio sull'anno.

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Correzione automatica giorni di un mese in un form
« Risposta #2 il: 07 Lug 2010, 22:08:41 »
Suggerisco di usare del codice php per popolare la dropdown che in funzione del mese di ferma al numero giusto.
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 van84

  • Esploratore
  • **
  • Post: 178
    • Mostra profilo
Re:Correzione automatica giorni di un mese in un form
« Risposta #3 il: 08 Lug 2010, 17:31:45 »
Vi ringrazio inanto per avermi risposto, documentandomi sia in merito ai 4 dropdown cheall'opzione di popolare i dropdown attraverso php ho trovato anche che si può fare uno script di controllo che verifichi la correttezza della data, così ora ho tre possibilità e essendo un utente base praticament base di php e niubbissimo di javascript non saprei quale scegliere. Continuerò a cercare e proverò a scrivere il codice che mi sembra più fattibile. Aggiorno il post appena riesco a risolvere qualcosa.
Ciao grazie ancora

Offline andfritz

  • Esploratore
  • **
  • Post: 174
    • Mostra profilo
Re:Correzione automatica giorni di un mese in un form
« Risposta #4 il: 08 Lug 2010, 18:19:04 »
http://forum.joomla.it/index.php/topic,99125.0.html. questo è un link che ti potrebbe servire.....

Offline van84

  • Esploratore
  • **
  • Post: 178
    • Mostra profilo
Re:Correzione automatica giorni di un mese in un form
« Risposta #5 il: 22 Lug 2010, 14:17:14 »
Ciao ragazzi, purtroppo dopo giorni di smanettamento ancora niente, purtroppo con js sono proprio ignorante, ho provato in tutti i modi sia a creare un codice di controllo della data (ma credo di sbagliare proprio a livello di comandi), che a modificare il codice che allego (è l'originale: ho provato a modificarlo a logica in vari punti ma non ottengo niente; non capisco come faccio ad impostare vari campi a comparsa, che a seconda dell'opzione scelta nel primo dropdown ne visualizzino uno indicato..), ma niente  >:(. Io proseguo fino a che non riesco a fare questa cosa perchè mi serve assolutamente, se intanto qualcuno ha dei suggerimenti ulteriori bene, altrimenti aggiorni il post a operazione riuscita.
Ciao

[allegato vecchio più di un anno eliminato automaticamente]

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Correzione automatica giorni di un mese in un form
« Risposta #6 il: 30 Lug 2010, 18:46:58 »
Prova un po' se questo codice ti risolve qualcosa.

Codice: [Seleziona]
<?php
$giorni_mese
=date("t");
$oggi=date("j");
$anno=date("Y");

// se oggi è l'ultimo del mese incrementa il mese
if ($oggi==$giorni_mese) {
$mese=date("n")+1;
}else{
$mese=date("n");
}


// se oggi è l'ultimo dell'anno
if ($oggi==$giorni_mese && date("n")==12) {
$mese=1;
$anno=date("Y")+1;
}

?>



<div class="form_item">
  <div class="form_element cf_multiholder" style="margin-left:0px!important;">
      <label class="cf_label" style="width: 150px;">Data</label>
    <table cellspacing="0" cellpadding="0" width="95%" title="" class="multi_container">
        <tbody width="100%">
            <tr width="100%">
                <td style="width: auto; vertical-align: middle; text-align: left;">
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">giorno</label>
    <select class="cf_inputbox validate-selection" id="select_4" size="1" title=""  name="giorno">
   
<?php
for ($i 1$i <= $giorni_mese$i++) {
    if ((
$oggi+1)==$i) {
    echo 
"<option value=\"".$i."\" selected='selected' >".$i."</option>";
    }else{
    echo 
"<option value=\"".$i."\">".$i."</option>";
    }
}
?>


    </select>
   
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
</td>
<td style="width: auto; vertical-align: middle; text-align: left;">
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">mese</label>
    <select class="cf_inputbox validate-selection" id="select_5" size="1" title=""  name="mese">

<option value="1" <?php if ($mese==1){echo "selected='selected'";} ?>>Gennaio</option>
<option value="2" <?php if ($mese==2){echo "selected='selected'";} ?>>Febbraio</option>ù<option value="" <?php if ($mese==1){echo "selected='selected'";} ?>>Gennaio</option>
<option value="3" <?php if ($mese==3){echo "selected='selected'";} ?>>Marzo</option>
<option value="4" <?php if ($mese==4){echo "selected='selected'";} ?>>Aprile</option>
<option value="5" <?php if ($mese==5){echo "selected='selected'";} ?>>Maggio</option>
<option value="6" <?php if ($mese==6){echo "selected='selected'";} ?>>Giugno</option>
<option value="7" <?php if ($mese==7){echo "selected='selected'";} ?>>Luglio</option>
<option value="8" <?php if ($mese==8){echo "selected='selected'";} ?>>Agosto</option>
<option value="9" <?php if ($mese==9){echo "selected='selected'";} ?>>Settembre</option>
<option value="10" <?php if ($mese==10){echo "selected='selected'";} ?>>Ottobre</option>
<option value="11" <?php if ($mese==11){echo "selected='selected'";} ?>>Novembre</option>
<option value="12" <?php if ($mese==12){echo "selected='selected'";} ?>>Dicembre</option>

   
    </select>
   
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
</td>
<td style="width: auto; vertical-align: middle; text-align: left;">
<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">anno</label>
    <select class="cf_inputbox validate-selection" id="select_6" size="1" title=""  name="anno">
   
<?php
for ($i = -5$i <= 5$i++) {
    if ((
$anno+$i)==$anno) {
    echo 
"<option value=\"".($anno+$i)."\" selected='selected' >".($anno+$i)."</option>";
    }else{
    echo 
"<option value=\"".($anno+$i)."\">".($anno+$i)."</option>";    
    }
}
?>


    </select>
   
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
</td>

            </tr>
        </tbody>
    </table>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>
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