2

ユーザーが選択した 4 つのドロップダウン メニュー オプションに従って、データベースから特定の情報を出力するイベント カレンダーがありWeek Month YearますOrder。今私が抱えている問題は、イベントのカレンダーのデフォルト ビューを現在の時刻に設定しweek MonthYear、ユーザーがそれを表示するためにドロップダウン メニューを選択する必要がないようにすることです。

以下のコードの一部を実装すると、イベントのカレンダーに何も起こりません

PHP

function calendar()
{   
if(!isset($_POST['submit'])){

   $m = date('M'); 
   $day = date('j'); 
   $Y = date('Y');

    if ($day >= 29) { 
         $j = 5; 
    }elseif($day >= 22  AND $day < 28) {
         $j = 4;
    }elseif($day >= 15  AND $day < 22) {
         $j = 3;
    }elseif($day >=8   AND $day < 15) {
         $j = 2;
    }else{
         $j = 1; 
    }
}
   if(isset($_POST['submit'])){ 
    if ($_POST['submit'] == ""){
            echo "No  Event for Today" ;
    } 
    $j = mysql_real_escape_string($_POST['week']);
    $m = mysql_real_escape_string($_POST['month']);
    $Y = mysql_real_escape_string($_POST['year']);
    $o = mysql_real_escape_string($_POST['order']);
    $date =" ".$j.", ".$Y." ";

    $query1 = " SELECT *
          FROM newcaldemo 
          WHERE eventweek = '".$j."'
          AND   month = '".$m."'
          AND   year  = '".$Y."'
          ORDER by $o ASC" ; 
            $run1 = mysql_query($query1);
            $norows = mysql_affected_rows();
            if ($norows < 1){
                echo "No Event(s) for Week $j, $Y" ;
            }  else {
                echo "Event(s) for Week $j, $m $Y <br></div> ";

                    while($row1 = mysql_fetch_array($run1)) {  ?>

                           <?php echo $row1['month']." " .$row1['day'] ; ?><br>
                            Name  : <?php echo $row1['eventname'] ; ?><br>
                            Time  : <?php echo $row1['eventtime'] ; ?><br> 
                            Venue : <?php echo $row1['eventplace'] ; ?><br>

          <?php  }
        }
    }
   ?> 
4

1 に答える 1

0

私が大学にいたとき、論文に似たようなことをしました - 必要な d/m/y を取得した部分 (および「来月」と「前月」のラベルを使用する場合に備えて、その周りの部分) は次のとおりです。下:

//set months
if(!empty($_GET['m'])){
    $thisMonth = $_GET['m'];
    $lastMonth = $thisMonth - 1;
    $nextMonth = $thisMonth + 1;
}else{
    $lastMonth = date("n")-1;
    $thisMonth = date("n");
    $nextMonth = date("n")+1;
}

//set years
if(!empty($_GET['y'])){
    $thisYear = $_GET['y'];
}else{
    $thisYear = date("Y");
}

// Set days. mktime format: mktime(hr, min, sec, mth, day, yr)
$today = date("j"); 
$numDays = date ("t", mktime(0, 0, 0, $thisMonth, 1, $thisYear)); // Number of days in current month
$startDay = date ("w", mktime(0, 0, 0, $thisMonth, 1, $thisYear)); // Day the current month starts on

また、カレンダーを表として印刷した方法もお見せします。その表示は、月の開始日とその中の日数によって条件付けられていました (使用されていないセルはグレー表示されるなど)。

言うまでもなく、イベントチェックについては説明していません。それはあなたの質問に余分なものがあるからです:)

于 2013-05-07T17:46:38.313 に答える