Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    26

    problema con calendario in php, mesi numerati male

    Buongiorno
    Ho bisogno di un altro aiuto. vorrei capire perchè in questo calendario il mese di dicembre, ossia l'ultimo mese dell'anno è indicato nella barra degli indirizzi con numero 13 anzichè 12, di conseguenza anche novembre che anzichè essere 11 è 12, ottobre 11 anzichè 10 ecc.. e gennaio, il primo mese dell'anno è segnato come il numero 2 anzichè 1. come devo fare per sistemare meglio questo script in modo tale che i mesi vengano numerati correttamente?

    Codice PHP:
    <?   
    require_once("includes/config.php");  

    if(!isset(
    $installed))  
    {  
        
    header("Location: install.php");  
        exit;  
    }  
    else  
    {  
        if(
    file_exists('install.php'))  
        {  
            
    header("Location: install.php");  
            exit;  
        }  
    }  

    $db_connection mysql_connect ($DBHost$DBUser$DBPass) OR die (mysql_error());    
    $db_select mysql_select_db ($DBName) or die (mysql_error());  
    $db_table $TBL_PR "events";  

    function 
    getmicrotime(){   
        list(
    $usec$sec) = explode(" ",microtime());   
        return ((float)
    $usec + (float)$sec);   
    }   

    $time_start getmicrotime();  

    IF(!isset(
    $_GET['year'])){  
        
    $_GET['year'] = date("Y");  
    }  
    IF(!isset(
    $_GET['month'])){  
        
    $_GET['month'] = date("n")+1;  
    }  

    $month addslashes($_GET['month'] - 1);  
    $year addslashes($_GET['year']);  

    $query "SELECT event_id,event_title,event_day,event_time FROM $db_table WHERE event_month='$month' AND event_year='$year' ORDER BY event_time";  
    $query_result mysql_query ($query);  
    while (
    $info mysql_fetch_array($query_result))  
    {  
        
    $day $info['event_day'];  
        
    $event_id $info['event_id'];  
        
    $events[$day][] = $info['event_id'];  
        
    $event_info[$event_id]['0'] = substr($info['event_title'], 012);;  
        
    $event_info[$event_id]['1'] = $info['event_time'];  
    }  

    $todays_date date("j");  
    $todays_month date("n");  

    $days_in_month date ("t"mktime(0,0,0,$_GET['month'],0,$_GET['year']));  
    $first_day_of_month date ("w"mktime(0,0,0,$_GET['month']-1,1,$_GET['year']));  
    $first_day_of_month $first_day_of_month 1;  
    $count_boxes 0;  
    $days_so_far 0;  

    IF(
    $_GET['month'] == 13){  
        
    $next_month 2;  
        
    $next_year $_GET['year'] + 1;  
    } ELSE {  
        
    $next_month $_GET['month'] + 1;  
        
    $next_year $_GET['year'];  
    }  

    IF(
    $_GET['month'] == 2){  
        
    $prev_month 13;  
        
    $prev_year $_GET['year'] - 1;  
    } ELSE {  
        
    $prev_month $_GET['month'] - 1;  
        
    $prev_year $_GET['year'];  
    }  


    ?>  
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    <html>  
    <head>  
    <title>PHPCalendar</title>  
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
    <link href="images/cal.css" rel="stylesheet" type="text/css">  
    <script language="JavaScript" type="text/JavaScript">  
    <!--  
    function MM_jumpMenu(targ,selObj,restore){ //v3.0  
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");  
      if (restore) selObj.selectedIndex=0;  
    }  
    function MM_openBrWindow(theURL,winName,features) { //v2.0  
      window.open(theURL,winName,features);  
    }  
    //-->  
    </script>  
    </head>  

    <body>  
    <div align="center"><span class="currentdate"><? echo date ("F Y"mktime(0,0,0,$_GET['month']-1,1,$_GET['year'])); ?></span>
      
    </div>  
    <div align="center">
      
      <table width="700" border="0" cellspacing="0" cellpadding="0">  
        <tr>   
          <td><div align="right">[url="<? echo "]">[img]http://images-1.findicons.com/files/icons/1688/web_blog/48/arrow_left.png[/img][/url]</div></td>  
          
    <td width="200" style="border: 1px solid #F2F2F2"><div align="center">  
                  
              <
    select name="month" id="month" onChange="MM_jumpMenu('parent',this,0)">  
                <?  
                for (
    $i 1$i <= 12$i++) {  
                    
    $link $i+1;  
                    IF(
    $_GET['month'] == $link){  
                        
    $selected "selected";  
                    } ELSE {  
                        
    $selected "";  
                    }  
                    echo 
    "<option value=\"index.php?month=$link&year=$_GET[year]\" $selected>" date ("F"mktime(0,0,0,$i,1,$_GET['year'])) . "</option>\n";  
                }  
                
    ?>  
              </select>  
              <select name="year" id="year" onChange="MM_jumpMenu('parent',this,0)">  
              <?  
              
    for ($i 2009$i <= 2015$i++) {  
                  IF(
    $i == $_GET['year']){  
                    
    $selected "selected";  
                } ELSE {  
                    
    $selected "";  
                }  
                  echo 
    "<option value=\"index.php?month=$_GET[month]&year=$i\" $selected>$i</option>\n";  
              }  
              
    ?>  
              </select>  
            </div></td>  
          <td><div align="left">[url="<? echo "]">[img]http://images-2.findicons.com/files/icons/1688/web_blog/48/arrow_right.png[/img][/url]</div></td>  
        
    </tr>  
      </
    table>  
      
      
    </
    div>  
    <
    table width="1050" border="0" align="center" cellpadding="0" cellspacing="0">  
      <
    tr>  
        <
    td><table border="0" width="100%" cellpadding="0" cellspacing="1" bgcolor="#DDDDDD">  
            <
    tr class="topdays">   
              <
    td><div align="center">Domenica</font></div></td>  
              <
    td><div align="center">Lunedì</div></td>  
              <
    td><div align="center">Martedì</div></td>  
              <
    td><div align="center">Mercoledì</div></td>  
              <
    td><div align="center">Giovedì</div></td>  
              <
    td><div align="center">Venerdì</div></td>  
              <
    td><div align="center">Sabato</div></td>  
            </
    tr>  
            <
    tr valign="top" bgcolor="#FFFFFF">   
            <?  
            for (
    $i 1$i <= $first_day_of_month-1$i++) {  
                
    $days_so_far $days_so_far 1;  
                
    $count_boxes $count_boxes 1;  
                echo 
    "<td width=\"100\" height=\"100\" class=\"beforedayboxes\"></td>\n";  
            }  
            for (
    $i 1$i <= $days_in_month$i++) {  
                   
    $days_so_far $days_so_far 1;  
                    
    $count_boxes $count_boxes 1;  
                IF(
    $_GET['month'] == $todays_month+1){  
                    IF(
    $i == $todays_date){  
                        
    $class "highlighteddayboxes";  
                    } ELSE {  
                        
    $class "dayboxes";  
                    }  
                } ELSE {  
                    IF(
    $i == 1){  
                        
    $class "highlighteddayboxes";  
                    } ELSE {  
                        
    $class "dayboxes";  
                    }  
                }  
                echo 
    "<td width=\"100\" height=\"100\" class=\"$class\">\n";  
                
    $link_month $_GET['month'] - 1;  
                echo 
    "<div align=\"right\"><span class=\"toprightnumber\">\n<a style=\"color: #222222\"  href=\"java-script:MM_openBrWindow('event_add.php?day=$i&month=$link_month&year=$_GET[year]','','width=500,height=300');\">$i</a></span></div>\n";  
                IF(isset(
    $events[$i])){  
                    echo 
    "<div align=\"center\"><span class=\"eventinbox\">\n";  
                    while (list(
    $key$value) = each ($events[$i])) {  
                        echo 
    "
    <table class=\"corner\"><tr><td><a href=\"java-script:MM_openBrWindow('event.php?id=
    $value','','width=500,height=200');\" style=\"color: #3D3D3D; font-size: 13px; text-decoration: none; text-shadow: 0px 1px 1px #FFF;\">" $event_info[$value]['1'] . " - " $event_info[$value]['0']  . "</a></td></tr></table>\n
    \n"
    ;  
                    }  
                    echo 
    "</span></div>\n";  
                }  
                echo 
    "</td>\n";  
                IF((
    $count_boxes == 7) AND ($days_so_far != (($first_day_of_month-1) + $days_in_month))){  
                    
    $count_boxes 0;  
                    echo 
    "</TR><TR valign=\"top\">\n";  
                }  
            }  
            
    $extra_boxes $count_boxes;  
            for (
    $i 1$i <= $extra_boxes$i++) {  
                echo 
    "<td width=\"100\" height=\"100\" class=\"afterdayboxes\"></td>\n";  
            }  
            
    $time_end getmicrotime();  
            
    $time round($time_end $time_start3);  
            
    ?>  
            </tr>  
          </table></td>  
      </tr>  
    </table>  
    </body>  
    </html>
    snapshot per farvi capire:http://img508.imageshack.us/img508/6063/calendariob.png

  2. #2
    Secondo me è dato da questa istruzione:
    Codice PHP:
    IF(!isset($_GET['month'])){  
    $_GET['month'] = date("n")+1;  

    Ma a parte quello che si vede nella barra degli indirizzi sembra che il resto del calendario funzioni bene.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.