2016-06-14 3 views
0

안녕하세요 저는 포럼을 만들려고 노력해 왔지만 제대로했는데 문제는 전체 페이지가 다시로드된다는 것입니다. 즉, 페이지에 너무 많은 의견이 있으면 항상 리디렉션됩니다. 당신은 정상에 그리고 당신은 마지막 코멘트로 스크롤해야합니다 그래서 나는이 문제를 해결하기 위해 아약스를 배웠습니다 "열 32 줄 32시 오류 : Entity 'ldquo'정의되지 않은"문제가 무엇입니까 제발 여기에 XML을 생성하는 PHP가 있습니다.PHP를 사용하여 xml 파일을 생성하는 방법

<?php 
header('Content-Type: text/xml'); 
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>'; 
?> 

<?php 
require 'connect.inc.php'; 
$sql= $db->query("SELECT * FROM comments"); 
$results = $sql->fetchAll(PDO::FETCH_ASSOC); 


echo '<comments>'."\n"; 
foreach($results as $result) 
{ 
    echo '<comment>'."\n"; 
     echo $result['post']."\n"; 
    echo '</comment>'."\n"; 
} 
echo '</comments>'; 

?> 
+0

텍스트 앰퍼샌드 포함 (&) – splash58

+1

XML에서 허용되지 않는 문자를 CDATA로 래핑 할 수 있어야합니다. – Tom

+0

고마워요.이게 문제였습니다. –

답변

0

$ 결과와 관련이있는 것으로 보입니다. 가짜 $ 결과를 사용하여 코드를 시험해 보니 잘 작동합니다. 가짜 $ 결과는 다음과 같습니다. $ results = array (array ('id'=> 1, 'post'=> 'a'), array ('id'=> 2, 'post'=> 'b '));

데모 코드 :

는 PHP에서
<?php 
    header('Content-Type: text/xml'); 
    echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>'; 
?> 

<?php 
    #require 'connect.inc.php'; 
    #$sql= $db->query("SELECT * FROM comments"); 
    #$results = $sql->fetchAll(PDO::FETCH_ASSOC); 
    $results = array(array('id' => 1, 'post' => 'a'), array('id' =>2 , 'post' => 'b')); 


    echo '<comments>'."\n"; 
    foreach($results as $result) 
    { 
     echo '<comment>'."\n"; 
     echo $result['post']."\n"; 
     echo '</comment>'."\n"; 
    } 
    echo '</comments>'; 

    ?> 
0

당신이

$test_array = array (
    'bla' => 'blub', 
    'foo' => 'bar', 
    'another_array' => array (
      'stack' => 'overflow', 
    ), 
); 
$xml = new SimpleXMLElement('<root/>'); 
array_walk_recursive($test_array, array ($xml, 'addChild')); 
print $xml->asXML(); 

O/P는 XML 데이터 배열을 변환 할 수 있습니다 : - 주석의

<?xml version="1.0"?> 
<root> 
    <blub>bla</blub> 
    <bar>foo</bar> 
    <overflow>stack</overflow> 
</root> 
+0

덕분에 이것을 염두에 두겠습니다. –