【问题标题】:PHP not getting SQL date field 1970PHP没有得到SQL日期字段1970
【发布时间】:2012-04-25 00:23:13
【问题描述】:

我正在建立一个网站(我的第一个!),其中列出了事件, 必要时嵌套在年份和月份标题中。 我知道这有点乱,但是嘿!

我在某处出现错误,并且未正确传递 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 */

}

【问题讨论】:

  • 您在设置 $row 之前分配strtotime($row['event_startdate']),打开错误报告。我也看不到 mysql_connect()mysql_select_db() 所以这也可能是次要问题

标签: php mysql sql date


【解决方案1】:

将这些行放在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 变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多