2012-03-03 61 views
1

任何人都可以通過告訴我如何通過PHP輸出XML結果來幫助我?我有一個sql數據庫,並在PHP中編寫函數來解析XML,並且我調試了Firefox中的頁面(使用NET選項卡),它引發了與我的SQL語句相對應的正確響應,但是實際上看不到數據,它只是一個空白頁面。通過PHP和SQL輸出XML

這裏是php文件寫的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>'; 

?> 

謝謝你任何的幫助深表感謝。

編輯:頁面的標記:

<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 2012-03-03 23:40:25

+0

你能提供一個你的結果標記的例子嗎?在標題調用之前有沒有輸出到頁面? – Josh 2012-03-03 23:50:08

+0

檢查我的編輯:)並且不,在'輸出'前沒有任何回顯。 – 2012-03-03 23:54:14

回答

1

確保您在您的XML頂部的XML聲明。

echo "<?xml version='1.0' ?>";