2011-03-15 80 views
1

即時通訊嘗試創建一個XML文件使用php.everytime我運行代碼頁面顯示代碼從某個點作爲屏幕上的文本代碼我hav是如下:使用PHP從MySQL數據庫創建一個XML文件

<?php 
    if(!$dbconnet = mysql_connect('I took out the details')){ 
     echo "connection failed to the host."; 
     exit; 
    } 
    if (!mysql_select_db('siamsati_db')){ 
     echo "Cannot connect to the database."; 
     exit; 
    } 
    $table_id = 'events'; 
    $query = "SELECT * FROM $table_id"; 
    $dbresult = mysql_query($query, $dbconnect); 

    $doc = new DomDocument('1.0'); 

    $root = $doc->createElement('root'); 
    $root = $doc->appendChild($root); 

    while($row = mysql_fetch_assoc($dbresult)){ 
     $ooc = $doc->createElement($table_id); 
     $occ = $root->appendChild($occ); 

     foreach ($row as $fieldname => $fieldvalue){ 

      $child = $doc->createElement($fieldname); 
      $child = $occ->appendchild($child); 

      $value = $doc->createTextNode($fieldvalue); 
      $value = $child->appendChild($value); 
     } 
    } 

    $xml_string = $doc->saveXML(); 
    echo $xml_string; 

?> 

和頁顯示示出了當:

的createElement( '根'); $ root = $ doc-> appendChild($ root); while($ row = mysql_fetch_assoc($ dbresult)){$ ooc = $ doc-> createElement($ table_id); $ occ = $ root-> appendChild($ occ); foreach( $ row as $ fieldname => $ fieldvalue){ $ child = $ doc-> createElement($ fieldname); $ child = $ occ-> appendchild($ child); $ value-> $ doc-> createTextNode($ fieldvalue); $ value = $ child-> appendChild($ value); }} $ xml_string = $ doc-> saveXML(); echo $ xml_string; ?>

是否有一些錯過.ive檢查所有的報價認爲這是起初,但他們似乎都是正確的。關於什麼我做錯了什麼建議非常感謝?

+0

如果執行包含此頁面,會發生什麼: < ?php回聲「hello world」; ?>? – CoolStraw 2011-03-15 14:39:23

+0

在讀取'$ root = $ doc-> createElement('root');'?'行的'>'之前是否有'?'?這將使PHP解釋器切換到HTML模式並轉儲所有後面的內容,以提供您發佈的輸出。至少我無法想象你用' - >'編譯PHP作爲結束標記。那會很糟糕。 – rik 2011-03-15 14:39:58

+0

rik您的評論可能是問題,我想不出任何其他可能性。 – CoolStraw 2011-03-15 14:47:13

回答

0

設置內容類型爲XML,這樣瀏覽器將其識別爲XML。

header("content-type: application/xml; charset=ISO-8859-15"); 

在你的代碼,將其更改爲:

// Set the content type to be XML, so that the browser will recognise it as XML. 
header("content-type: application/xml; charset=ISO-8859-15"); 

// "Create" the document. 
$doc = new DOMDocument("1.0", "ISO-8859-15"); 

+++我認爲你可以做這樣的事情

+0

你可以print_r($ row)並用它更新你的問題 – kn3l 2011-03-15 15:41:43

0

在你已經張貼在這裏的初始<?php標記缺少代碼...

相關問題