添加mysql

时间:2017-02-13 20:36:16

标签: php mysql icalendar

我正在为我的网站构建一个feed饲料。这很有效,直到我尝试使用Mysql使其动态化。

上下文 我想要复制的代码在Steve Thomas的网站上。

此代码完全正常(来源:http://joeyclz119.119.axc.nl/test/):

$title =  "title";
$output .= "BEGIN:VEVENT SUMMARY:$title UID:15 STATUS:CONFIRMED DTSTART:20170220T214129Z DTEND:20170220T224129ZLAST-MODIFIED:20160509T031500Z LOCATION:home END:VEVENT\n ";

但是当我调用mysql时它不再起作用了(来源:http://joeyclz119.119.axc.nl/test/two):

foreach ($query->result() as $appointment):
$title =  $appointment->title ;    
$output .= "BEGIN:VEVENT SUMMARY:$title UID:15 STATUS:CONFIRMED DTSTART:20170220T214129Z DTEND:20170220T224129ZLAST-MODIFIED:20160509T031500Z LOCATION:home END:VEVENT\n ";
endforeach;

奇怪的是这段代码没有给出任何错误。因此它在Web浏览器中打开非常好。但是,当在iCal(我的Apple日历)中将其作为提要打开时,for循环中的所有事件都不再起作用。并且只要“$ appointment-> title;”它们就无法工作被调用(所以当只调用foreach循环时,代码仍然有效)。此外,在iCal中仍然可以看到不在for循环内的其他事件。

注意:在两种情况下都会调用整个mysql查询。只有在添加$ appointment->标题时(即使没有“$ title =”),代码才会失效。

问题每当我调用Mysql变量时,为什么代码不再工作?它是否会改变html文件的格式?

1 个答案:

答案 0 :(得分:0)

我不知道为什么您的数据库代码不起作用,但您的iCalendar语法不正确。每个属性必须用换行符分隔。

$output .= "BEGIN:VEVENT\r\nSUMMARY:$title\r\nUID:15\r\nSTATUS:CONFIRMED\r\nDTSTART:20170220T214129Z\r\nDTEND:20170220T224129Z\r\nLAST-MODIFIED:20160509T031500Z\r\nLOCATION:home\r\nEND:VEVENT\n ";