Ciao, ho un problema con questa funzione: nel ciclo foreach la variabile $id parte da 0
invece di partire da 1.
Potete aiutarmi?
Codice PHP:
<?php
function selectNextEdition(){
global 
$session$romani$disabled_flag$mesi;    
$disflag "";
$out "";

$query mysql_query("SELECT * FROM edizioni WHERE edannoreale = DATE_FORMAT(now(), '%Y') ORDER BY edmese ASC LIMIT 12;") or die(log_action(mysql_error()));
    
$num mysql_num_rows($query);

    if(
$num>0){
    
#l'anno in corso ha almeno una edizione aperta
    
        
$full 11;
        
$mancanti $full $num;
        
$mesi_edizione $mesi;
        
        
$mesi_post array_slice($mesi_edizione,0,3);
        
$mesi_fatti = array();
        while(
$obj mysql_fetch_object($query)){
            
$mesi_fatti[$obj->ednumero] = $mesi_edizione[$obj->ednumero];
            
$mesi_fatti_ext[$obj->ednumero] = num_edizione($obj->id);
            
$anno $obj->edannoreale;
            
$edanno $obj->edanno;
            }

            
$postanno $anno 1;
            
$numanno $edanno;                $numpost $edanno 1;
            
$annoromano $romani[$numanno];
            
$postromano $romani[$numpost];

        
$mesi_liberi array_diff($mesi_edizione,$mesi_fatti);
if(
$disabled_flag!=""){
        
$out .= "<select id='selectNextEdition' name='edizione' style='visibility:hidden' ".$disabled_flag.">\n";
        }
        else
        {
        
$out .= "<select id='selectNextEdition' name='edizione' ".$disabled_flag.">\n";
        }
if(
$disabled_flag!=""){
$no_nuova '1';
        
$out .= "<optgroup label='Edizioni gi&agrave; aperte'>\n";

        foreach(
$mesi_fatti as $id=>$mese){
            
$out .= "<option style='text-decoration:line-through;color:#AAA;' value='".$numanno.":".$id.":".$anno."' 
            label='"
.$mesi_fatti_ext[$id]."'>".$mesi_fatti_ext[$id]."</option>\n";
            }
        
$out .= "</optgroup>\n";
}

        
$out .= "<optgroup label='Edizioni libere'>\n";

$i 1;
        foreach(
$mesi_liberi as $id=>$mese){
        if(
$i == && !isset($no_nuova)){ $flag "selected='selected' "; }else{    $flag='';
        }
            
$out .= "<option ".$flag."value='".$numanno.":".$id.":".$anno."' label='".$annoromano." - ".$mese." ".$anno."'>".$annoromano." - ".$mese." ".$anno."</option>\n";
            
$i++;
            }

$mese $mese +1;

        foreach(
$mesi_post as $id=>$mese){
            
$out .= "<option value='".$numpost.":".$id.":".$postanno."' label='".$postromano." - ".$mese ." ".$postanno."'>".$postromano." - ".$mese." ".$postanno."</option>\n";
            }
        
$out .= "</optgroup>";
        
$out .= "</select>";
        
        }else{
        
#l'anno in corso e' a gennaio e non ha ancora una edizione aperta

        
$full 11;

        
$flag "";

$rim mysql_query("SELECT MAX(edannoreale) AS maxsolare, MAX(edanno) AS maxedizione FROM edizioni;");
$rimedio mysql_fetch_array($rim);

        
$numanno $rimedio['maxedizione'];
        
$numanno $numanno 1;
        
$anno $rimedio['maxsolare']; 
        if(
$anno != date('Y')){ $anno date('Y'); } 
        
$annoromano $romani[$numanno];
        
        
$mesi_edizione $mesi;
        
$out .= "<select id='selectNextEdition' name='edizione'".$disabled_flag.">\n";
        foreach(
$mesi_edizione as $id=>$mese){
            
$out .= "<option ".$flag."value='".$numanno.":".$id.":".$anno."' label='".$annoromano." - ".$mese." ".$anno."'>".$annoromano." - ".$mese." ".$anno."</option>\n";                    
        }
        
$out .= "</select>";
        
        }
        
    echo 
$out;
}
?>