2012-03-03 5 views
1

PHPでXML結果を出力するにはどうすればいいですか?私はSQLデータベースを持っていて、PHPでXMLを解析する関数を書いていますが、Firefoxのページをデバッグしましたが(NETタブを使用しています)、私のSQL文に対応する正しい応答を表示しています。データ、その空白のページ。PHPとSQLを使ってXMLを出力する

<?php 
    include("classes/database_connection.php"); 

    function parseToXML($htmlStr) 
     { 
     $xmlStr=str_replace('<','&lt;',$htmlStr); 
     $xmlStr=str_replace('>','&gt;',$xmlStr); 
     $xmlStr=str_replace('"','&quot;',$xmlStr); 
     $xmlStr=str_replace("'",'&#39;',$xmlStr); 
     $xmlStr=str_replace("&",'&amp;',$xmlStr); 
     return $xmlStr; 
     } 

     // Opens a connection to a MySQL server 
     $connection=mysql_connect ('www.numyspace.co.uk', '*********', '************'); 
     if (!$connection) { 
      die('Not connected : ' . mysql_error()); 
      } 


     $db_selected = mysql_select_db('********', $connection); 
      if (!$db_selected) { 
      die ('Can\'t use db : ' . mysql_error()); 
      } 


     // Select all the rows in the ticket table 
     $query = "SELECT * FROM ticket"; 
     $result = mysql_query($query); 


     header("Content-type: text/xml"); 

     // Start XML file, echo parent node 
     echo '<ticket>'; 

     while ($row = @mysql_fetch_assoc($result)){ 
     // ADD TO XML DOCUMENT NODE 
     echo '<tickets '; 
     echo 'ticketID="' . parseToXML($row['ticketID']) . '" '; 
     echo 'locationID="' . parseToXML($row['locationID']) . '" '; 
     echo 'venue="' . parseToXML($row['venue']) . '" '; 
     echo 'tPrice="' . parseToXML($row['tPrice']) . '" '; 
     echo 'date="' . parseToXML($row['date']) . '" '; 
     echo 'availability="' . parseToXML($row['availability']) . '" '; 
     echo 'time="' . parseToXML($row['time']) . '" '; 
     echo 'lat="' . $row['lat'] . '" '; 
     echo 'lng="' . $row['lng'] . '" '; 
     echo '/>'; 
    } 

    // End XML file 
    echo '</ticket>'; 

?> 

はありがとうとすべてのヘルプははるかに高く評価されています。ここでは

は、XMLを書き込むためのPHPファイルです。

EDIT:ページのマークアップ:

<ticket><tickets ticketID="1" locationID="1" venue="The Cluny" tPrice="15" date="2012-04-17" availability="200" time="20:00:00" lat="54.978252" lng="-1.617780" /><tickets ticketID="2" locationID="1"..../></ticket> 
+0

ソースを確認しましたか?マークアップはありますか? – Josh

+0

結果のマークアップの例を挙げることはできますか?ヘッダーコールの前にページに出力がありますか? – Josh

+0

私の編集をチェックしてください。いいえ、何も出力の前にエコーされません。 –

答えて

1

あなたがXMLの上部にXML宣言を持っていることを確認します。

echo "<?xml version='1.0' ?>"; 
関連する問題