1

私は、必要に応じて年と月のヘッダー内にネストされたイベントを一覧表示するサイトを構築しています (私の最初の!)。私はそれが少し混乱していることを知っていますが、ちょっと!

どこかでエラーが発生し、MySQL DB の日付フィールドが正しく渡されません。したがって、デフォルトは 01-01-1970 です

<?php

    $query = 'SELECT * FROM events';
    $result = mysql_query( $query );
    $current_month = 'no_month_given';
    $current_year = 'no_year_given';
    $year_count = 0;
    $month_count = 0;
    $year = date("Y", strtotime($row['event_startdate']));
    $month = date("M", strtotime($row['event_startdate']));
    $startday = date("d", strtotime($row['event_startdate']));
    $endday = date("d", strtotime($row['event_enddate']));

    while($row = mysql_fetch_array($result))
        {

    /* YEAR */

            if($current_year != $year) 
                {
                    $current_year = $year;
                    echo "  <div id=\"year\">
                    <p class=\"vert\">" .$current_year. "</p>";
                    $year_count++;
                }

    /* MONTH */

        if($current_month != $month) 
                {
                    $current_month = $month;
                    echo '<div id="month"><h1>' . $current_month . '</h1>';
                    $month_count++;
                }

    /* EVENT DETAILS */

}
4

1 に答える 1

2

次の行を while ループの中に入れます。

$year = date("Y", strtotime($row['event_startdate']));
$month = date("M", strtotime($row['event_startdate']));
$startday = date("d", strtotime($row['event_startdate']));
$endday = date("d", strtotime($row['event_enddate']));

$row は以前に定義されておらず、ループ外で $row 変数を使用できないためです。

于 2012-04-25T00:25:37.990 に答える