2012-03-03 4 views
1

PHP로 XML 결과를 출력하는 방법을 알려주는 사람이 있습니까? 나는 SQL 데이터베이스가 있고 PHP에서 XML을 구문 분석하는 함수를 작성했으며 파이어 폭스 (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 파일입니다.

편집 : 페이지의 마크 업 :

<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

내 편집을 확인하십시오 :) 그리고 아니오, 아무 것도 출력 전에 echo'd되지 않습니다 .. –

답변

1

것은 당신이 당신의 XML의 상단에있는 XML 선언이 있는지 확인하십시오.

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