从MySQL中提取DateTime:未定义的索引错误PHP

时间:2014-05-20 18:27:50

标签: php html mysql css

我有一个网页,我希望从MySQL数据库中提供事件信息。我有一个PHP函数提供此事件信息,我正在尝试包含事件的日期时间。

我目前正在提供的PHP功能正在提供信息并填写除<divs>以外的所有<div class="eventdate">。该函数显示:

function eventbox() {
$loopResult = "";
$query = mysql_query("SELECT eventname, name, eventicon, DATE_FORMAT(eventtime, '%a %b %dth %Y at %h:%i%p') FROM my_db.events LEFT JOIN my_db.venues USING (venue_id) LEFT JOIN my_db.eventtype USING (eventtype_id)"); 
while($row = mysql_fetch_array($query)) {
    $loopResult .= ' 
            <div class="eventbox">
                <div class="eventtitle">'.$row['eventname'].'</div>
                <div class="eventdate">'.$row['DATE_FORMAT(eventtime)'].'</div>  
                <div class="eventvenue">'.$row['name'].'</div>
                <div class="tie-inbuttonholder">
                    <button type="button">tie-in</button>
                </div>
                <div class="eventboxicon" class="tie-inbutton">'.$row['eventicon'].'</div> 
            </div>  
    '; 
}
echo $loopResult;
}

现在唯一的问题是,当我运行脚本时,我得到了错误代码;

  

注意:未定义的索引:第23行的/var/www/test/test_func.inc.php中的DATE_FORMAT(eventtime)

第23行将是:

<div class="eventdate">'.$row['DATE_FORMAT(eventtime)'].'</div>

我尝试了许多不同的方法来格式化这部分功能 (据说我运行.date_format($row...方法的错误略有不同);

<div class="eventdate">'.date_format($row ('eventtime'), 'g:ia \o\n l jS F Y').'</div>
<div class="eventdate">'.date_format($row ['eventtime'], '%a %b %dth %Y at %h:%i%p').'</div>
<div class="eventdate">'.date_format($row['eventtime'], 'l M d\t\h Y \a\t g:iA').'</div>
<div class="eventdate">'.$row['DATE_FORMAT(eventtime, 'g:ia \o\n l jS F Y')'].'</div>
etc...

有关我可以采取哪些措施来解决此问题的建议?当我对我的服务器运行SQL查询时,我得到了一个完美的表,并且该函数的所有其他部分都运行良好。

我看到了许多与此类似的评价不佳的问题,但没有特别喜欢这个,如果我在这里重新散列旧材料,我很抱歉。

谢谢!

1 个答案:

答案 0 :(得分:2)

DATE_FORMAT()提供别名的结果,以便通过PHP轻松访问:

$query = mysql_query("SELECT eventname, name, eventicon, 
    DATE_FORMAT(eventtime, '%a %b %dth %Y at %h:%i%p') as event_time 
    FROM my_db.events LEFT JOIN my_db.venues USING (venue_id) 
    LEFT JOIN my_db.eventtype USING (eventtype_id)"); 

然后在你的PHP中:

<div class="eventdate">'.$row['event_time'].'</div>