xml / rss文件中的数据库输出

时间:2013-10-10 11:42:11

标签: php sql xml rss

所以我试图在我的首页index.php上显示来自文件feed.php(它的rss)的我的提要.. 但是,当我将它加载到index.php时,它似乎无法从feed.php中读取我的输入'item''title'等。但是,feed.php本身似乎没有任何问题

Index.php我有以下代码

$feed = simplexml_load_file('feed.php');
$counter = 0;
$amount = 5;
foreach($feed->channel->item as $item){
 while ($counter<$amount) {
  echo utf8_decode("<a href='{$item->link}'>{$item->title}</a><br>");
  echo utf8_decode("<i>{$item->pubDate} </i><br>"); 
  echo utf8_decode("{$item->description} <br><br>");
 break;
 } 
$counter ++;
}

这在feed.php

<rss version="2.0">
 <channel>
  <title>This is the title</title>
   <link>http://www.someweirdurl.com</link>
   <description>Just a testpage</description>
   <?php
   require_once 'dbconn.php';

   $sql = "SELECT * FROM feeds";
   $obj_result = $obj_con->query($sql);
   while ($row = $obj_result->fetch_object()) { 
   ?>
    <item>
     <title><?php echo $row->artikel_title; ?></title>
     <link><?php echo $row->artikel_url; ?></link>
     <description><?php echo $row->artikel_tekst; ?></description>
     <author><?php echo $row->artikel_forfatter; ?></author>
     <category><?php echo $row->artikel_kategori; ?></category>
     <subDate>Fri, 05 Jul 2013 15:29:07 +0200</subDate>
    </item>
   <?php 
   }  
   ?>
 </channel>
</rss>

我试着在index.php上打印它,它给我输出像

[author] => SimpleXMLElement Object

就像他们是空的.. 虽然它获得了subDate(作为唯一的一个)

[subDate] => Fri, 05 Jul 2013 15:29:07 +0200

可能由于subDate是我没有从数据库中取出的唯一一个.. 那么我需要做些什么才能使它与我的数据库中的数据一起工作..?

1 个答案:

答案 0 :(得分:1)

如果是feed.php,你必须将所有xml字符串放在变量中,如$ my_xml,

然后在php代码之后,使用header ("Content-Type:text/xml");将文件类型更改为xml。

然后回显$ my_xml。

只是它