0

我的代码:

$go = mysql_query($sql);
$fetch = mysql_fetch_array($go);
$return = Array($fetch[0],$fetch[1],$fetch[2]);  
$results = Array(  
    'body' => Array (  
           'entry' => Array ( 
            'title'    => $return[0],  
            'image'    => $return[1], 
            'caption'  => $return[2]
                )  
                   )
        ); 

XML 输出:

此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。

<callback xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<body>
 <entry>
  <title>REHEARSAL DINNER IN SEATTLE, WA</title>
  <image>images/portfolio_entries/default.png</image>
  <caption>A wonderful in home event for 27 people.</caption>
 </entry>
</body>


我希望它遍历查询中的所有行,并且 xml 输出看起来像这样:

<callback xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
 <body>
  <entry>
   <title>REHEARSAL DINNER IN SEATTLE, WA</title>
   <image>images/portfolio_entries/default.png</image>
   <caption>A wonderful in home event for 27 people.</caption>
  </entry>
  <entry>
   <title>BLAH NUMBER TWO</title>
   <image>images/portfolio_entries/default2.png</image>
   <caption>Blah blah info about number two.</caption>
  </entry>
  <entry>
   <title>BLAH NUMBER THREE</title>
   <image>images/portfolio_entries/default3.png</image>
   <caption>blah blah info about number three.</caption>
  </entry>
 </body>
</callback>
4

1 回答 1

0
echo '<callback xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<body>'; 
foreach($results['entry'] as $data{
    echo '<entry>';
    echo '<title>'.$data['title'].'</title>';
    echo '<image>'.$data['image'].'</image>';
    echo '<caption>'.$data['caption'].'</caption>';
    echo '</entry>';
}
echo '</body>';

可能需要进一步调整,但这应该可以很好地显示您的 XML 文档。

编辑:

如果您的数组已完全填充,这将起作用,为此,您需要使用另一个循环填充数组,或者您可以使用 while 循环来回显所有行,如下所示:

while ($row = mysql_fetch_assoc($result)) {
    echo '<entry>';
    echo '<title>'.$row['database column name'].'</title>';
    echo '<image>'.$row['database column name'].'</image>';
    echo '<caption>'.$row['database column name'].'</caption>';
    echo '</entry>';
}

显然,您必须将“数据库列名”替换为 MySQL 数据库中的相关列名。祝你好运,让我知道你过得怎么样。

于 2013-06-01T00:39:06.810 回答