Ciao, ho un problema con questa funzione: nel ciclo foreach la variabile $id parte da 0
invece di partire da 1.
Potete aiutarmi?
invece di partire da 1.
Potete aiutarmi?
Codice:
<?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à 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 == 1 && !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;
}
?>