2013-06-01 57 views
0
輸出

我的代碼:從MySQL查詢多維數組是XML

$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> 
+0

你有什麼難與? – Prix

+0

它僅輸出查詢結果的第一行。我希望它循環遍歷結果的所有行,如上面第二個輸出中所示 – user1519235

回答

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數據庫中的相關列名替換'數據庫列名'。祝你好運,並讓我知道你如何繼續。