Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870

    Spazio vuoto nella select

    Popolando una select con un cilclo, in base a i giorni del mese (gennaio per ora) elimino il giorno corrente nella scelta, perchè il giorno corrente sarà sempre la prima scelta della select.

    Codice PHP:
    $mesi["January"]="Gennaio";
    $mesi["February"]="Febbraio";
    $mesi["March"]="Marzo";
    $mesi["April"]="Aprile";
    $mesi["May"]="Maggio";
    $mesi["June"]="Giugno";
    $mesi["July"]="Luglio";
    $mesi["August"]="Agosto";
    $mesi["September"]="Settembre";
    $mesi["October"]="Ottobre";
    $mesi["November"]="Novembre";
    $mesi["December"]="Dicembre"

    $mese_corrente=$mesi[date("F")];

    $giorno_corrente=date("d");

    function 
    gennaio(){
    global 
    $mese_corrente;
    global 
    $mesi;
    global 
    $giorno_corrente;

        if(
    $mese_corrente=="Gennaio"){
            for(
    $i=1;$i<32;$i++){
                
    $giorni[$i]=$i;
                
    $giorni[$giorno_corrente]=$giorno_corrente;
                if(
    $giorni[$i]==$giorni[$giorno_corrente]){
                    
    $giorni[$i]="";
                    
                }echo
    "<option value="; print $giorni[$i]; echo">"; print $giorni[$i]; echo"</option>"
            } 
        }

    Così facendo al posto del giorno attuale vedo un spazio vuoto, vorrei eliminare quello spazio.

    Cosa devo aggiungere o modificare?

  2. #2
    Utente di HTML.it L'avatar di panduz
    Registrato dal
    Dec 2007
    residenza
    France
    Messaggi
    10
    io modificherei il codice nel seguente:

    Codice PHP:
    if($mese_corrente=="Gennaio"){
            for(
    $i=1;$i<32;$i++){
                
    $giorni[$i]=$i;
                if(
    $giorni[$i]!=$giorno_corrente){
                   echo
    "<option value="; print $giorni[$i]; echo">"; print $giorni[$i]; echo"</option>";
                }
            }


  3. #3
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    sinceramente non ho capito se i giorni precedenti devono vedersi,
    comunque:
    $arrayMesi=array(
    "Gennaio",
    "Febbraio",
    "Marzo",
    "Aprile",
    "Maggio",
    "Giugno",
    "Luglio",
    "Agosto",
    "Settembre",
    "Ottobre",
    "Novembre",
    "Dicembre");


    if( checkdate ( 2 , 29 , date("Y"))) $dM2=29; else $dM2=28;
    $arrayGiorni=array(31,$dM2,31,30,31,30,31,31,30,31 ,30,31);

    $mese_corrente=$arrayMesi[(date("n")-1)];
    $giorno_corrente=date("d");

    for($i=1;$i<=$arrayGiorni[(date("n")-1)];$i++){
    if($i>$giorno_corrente){

    echo "<option value=\"".$i."\">".$i."</option>";

    }
    }
    ...altri 5 anni di purga...

  4. #4
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Originariamente inviato da panduz
    io modificherei il codice nel seguente:

    Codice PHP:
    if($mese_corrente=="Gennaio"){
            for(
    $i=1;$i<32;$i++){
                
    $giorni[$i]=$i;
                if(
    $giorni[$i]!=$giorno_corrente){
                   echo
    "<option value="; print $giorni[$i]; echo">"; print $giorni[$i]; echo"</option>";
                }
            }

    Yes funziona ed hai anche scritto due righe in meno di codice

    @alpeweb
    si i giorni precedenti li devo vedere, li voglio tutti tranne quello corrente perchè è la scelta di default.
    Molto interessante anche la tua soluzione comunque

    Grazie a tutti e due

  5. #5
    Utente di HTML.it L'avatar di panduz
    Registrato dal
    Dec 2007
    residenza
    France
    Messaggi
    10
    di niente, alla prossima

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.